【问题标题】:How to do this string replacement in PHP如何在 PHP 中进行此字符串替换
【发布时间】:2012-08-09 23:50:46
【问题描述】:

我有一个字符串,该字符串中有一些格式的链接

<a href="...some url...">Text</a>

我想用不同的标记替换整个部分

问题是虽然我可以得到要替换的标记的整体结构;还有网址,对我来说获得“文本”并不容易。如果我知道整个链接,那么我可能会做类似的事情。

'str_replace( $each_link , $my_new_markup , $the_original_string );'

并遍历每个链接,但我不能,因为我不知道 $each_link 到底是什么。

有没有办法寻找这样的东西?我认为它一定与 REGEX 有关,但我对此完全没有希望,我什至不知道这是否是正确的起点。

<a href="...some url..."> [WILDCARD of some kind] </a>

【问题讨论】:

    标签: php regex replace wildcard


    【解决方案1】:

    您可以查看类似 Simple HTML DOM Parser 的类,您可以使用它来循环遍历元素以搜索特定的内部 html 或其他属性,然后对其进行更改。

    代码看起来像这样

    foreach($html->find('a') as $element) {
      if ($element->innertext == $needle) {
        $element->innertext = $my_new_markup;
      }
    }
    

    【讨论】:

    • 接受这个答案 - 经过进一步研究,事实证明 DOM Parsing 是推荐的方法,例如正则表达式或其他方法。谢谢,以前没听说过。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    • 2011-01-18
    相关资源
    最近更新 更多