如何删除base64图像字符串

how to drop base64 img string

我正在使用 php 从 table 中提取内容,其中包含几个包含 base64 img 字符串的文本,我想删除或删除 base64 字符串。

顺便说一下,文本和base64 img 来自summernote wysiwyg 编辑器。

希望你能帮我解决这个问题。提前致谢。

<p>several text here </p>
<p>several text again here </p>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAQ4CAYAAADo08FDAAAgAElEQVR4AeydCXxU1dn/f5M9IQvLANnYt6BCIhI3xC1xC1WwUAvVgvJi3742L69ibRH/1XQD1AKWptYqBaFakYriQkRNBAQKGM==" data-filename="image.png" style="width: 1078px;"><br></p>

您可以使用 strip_tags()。
在这里,我使用第二个参数来允许 <p> 标记,但如果实际标记不重要,请从函数中删除 "<p>"

$html = '<p>several text here </p>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAQ4CAYAAADo08FDAAAgAElEQVR4AeydCXxU1dn/f5M9IQvLANnYt6BCIhI3xC1xC1WwUAvVgvJi3742L69ibRH/1XQD1AKWptYqBaFakYriQkRNBAQKGM==" data-filename="image.png" style="width: 1078px;"><br></p>';

Echo strip_tags($html, "<p>");

输出:

<p>several text here </p>
<p></p>

但正如我所说,如果只需要文本,只需删除 "<p>",它只会回显实际文本。

如果您只想要第一行和标签,您可以在 PHP_EOL 上展开并使用第一项。

Echo explode(PHP_EOL, strip_tags($html, "<p>"))[0];

输出:

<p>several text here </p>