gpt4 book ai didi

PHP 在 HTML 文本中查找字符串并替换它

转载 作者:行者123 更新时间:2023-12-02 03:04:11 27 4
gpt4 key购买 nike

    $text = "<p>Pellentesque ac urna eget diam volutpat suscipit
ac faucibus #8874# quam. Aliquam molestie hendrerit urna,
vel condimentum magna venenatis a.<br/> Donec a mattis ante.
Ut odio odio, ultrices ut faucibus vel, #2514# dapibus sed nunc. In hac sed.</p>";

我需要搜索#myid#字符串,并替换为<a href='mylink.php?myid'>myid</a>

我该怎么办?

最佳答案

为什么需要正则表达式来执行此操作,或者您打算替换所有 4 位数字(用 # 括起来)?

如果是单个 ID,您可以使用:

$replace_id = 2514;

$replacement_find = "#{$replace_id}#";
$replacement_replace = "<a href=\"mylink.php?{$replace_id}\">{$replace_id}</a>";

$text_final = str_replace($replacement_find, $replacement_replace, $text);
<小时/>

如果您要进行多次替换(或者,根据评论,不知道任何 ID),您可以使用此:

$text_final = preg_replace('@#([0-9]+?)#@', '<a href="mylink.php?$1">$1</a>', $text);
<小时/>

编辑:根据您的评论,您可以使用 preg_match_all 获取数组中包含在字符串中的所有 ID。在以下代码中,$matches[1] 包含正则表达式中 () 内所有内容的值,请参阅 print_r 的返回.

preg_match_all('@#([0-9]+?)#@', $text, $matches);
print_r($matches[1]);
<小时/>

为了满足您的最新请求,您可以使用 preg_replace_callback 来获取您想要的内容:

function callback($matches) {
return '<a href="mylink.php?' . $matches[1] . '>' . getProductName($matches[1]) . '</a>';
}
$text_final = preg_replace_callback('@#([0-9]+?)#@', "callback", $text);

关于PHP 在 HTML 文本中查找字符串并替换它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5900396/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com