【问题标题】:Replace All HTML img tags with text inside their ALT将所有 HTML img 标签替换为其 ALT 中的文本
【发布时间】:2012-08-29 06:54:11
【问题描述】:

例如:

输入:

<img "img1.gif" alt="Donkey"><BR>
<img "img2.gif" alt="Horse"><BR>
<img "img3.gif" alt="Orangutan"><BR>

输出

Donkey
Horse
Orangutan

四处寻找,但没有雪茄。有任何想法吗?谢谢!

【问题讨论】:

  • 不只是 preg_replace 之类的

标签: php preg-replace image alt


【解决方案1】:

如需快速解决方案,请使用preg_replace()

$text = '<img img1.gif" alt="Donkey"><BR>
<img img2.gif" alt="Horse"><BR>
<img img3.gif" alt="Orangutan"><BR>';

$replace = preg_replace('/<img(.*)alt="(.*)"\>/', "$2", $text);
echo $replace;

【讨论】:

  • ... 后跟br2nl()? :)
  • ...他首先说他想要那些&lt;BR&gt;的:)
  • 漂亮。谢谢。打印视图需要这个。很惊讶这并不常见
  • 稍微可靠一点:preg_replace('/]*alt="([^"]*)"[^>]*>/', "$2", $text) ;
  • 非常感谢这个答案.. +1
【解决方案2】:

今天感觉很慷慨,这是 da c0dez:

$html =<<<EOS
<img "img1.gif" alt="Donkey"><BR>
<img "img2.gif" alt="Horse"><BR>
<img "img3.gif" alt="Orangutan"><BR>
EOS;

$d = new DOMDocument;
$d->loadHTML($html);
foreach ($d->getElementsByTagName('img') as $img) {
    echo $img->getAttribute('alt'), "\n";
}

【讨论】:

    【解决方案3】:

    你不可能环顾四周 - 看看这个非常相似的问题:

    How to extract img src, title and alt from html using php?

    【讨论】:

    • 认为可能是只对 ALT 执行此操作的更简单方法
    • 是的,正如您从其他答案中看到的那样。但是在让其他人为你编写代码之前,你真的应该先尝试自己解决它(例如,通过从上述帖子中选择有用的部分)。
    • 好的。对不起。感谢帮助。认为这可能是对其他人有用的常见问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 2017-11-02
    • 2010-11-24
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多