【问题标题】:Add <span> after all starting anchor tags在所有起始锚标记之后添加 <span>
【发布时间】:2014-09-05 15:53:27
【问题描述】:

我正在尝试在所有打开的锚标记之后添加一个跨度,无论锚内部是什么。我在 CMS 中工作,所以 $content 将保存我的所有链接,并且是一个长 HTML 字符串。

我首先尝试了str_replace(),但它显然没有使用通配符。

$content = str_replace( '<a href="%">', '<a href="%"><span class="fa"></span>', $content );

然后我尝试了preg_replace(),但我不仅不知道足够的正则表达式来做到这一点,而且我不一定要替换我找到的东西,而是找到我想要找到的东西然后附加&lt;span&gt;。查找我的起始锚点然后在其后附加 &lt;span&gt; 或任何其他数据的好功能是什么?

【问题讨论】:

    标签: php regex preg-replace str-replace


    【解决方案1】:

    使用preg_replace

    $content = preg_replace('/<a (.*?)>(.*?)<\/a>/', '<a $1 ><span class="fa"></span>$2</a>', $content);
    

    (.*?) 得到任何东西,然后$1 对应于替换第一个(.*?)。因此,第二个匹配项放在$2 所在的位置。

    【讨论】:

    • 只是想感谢您,为我节省了很多时间,我用它在重力表格的标签开始标签之后添加了一些空白跨度。 $content = preg_replace('/
    猜你喜欢
    • 2016-01-27
    • 2020-10-04
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多