PHP regex - 用链接替换多个标签之间的文本

马克西

我有看起来像这样的字符串

A <<double>> <<tripod>> (for holding a <<plate>>, etc.) with six feet, of which three rest on the ground, in whatever position it is placed.

我怎样才能以<<>>之间的所有内容成为链接的格式替换它。

结果应如下所示:

A <a href="search/double">double</a> <a href="search/tripod">tripod</a> (for holding a <a href="search/plate">plate</a>, etc.) with six feet, of which three rest on the ground, in whatever position it is placed.
迈克尔·K

这样的事情应该工作:

$str = "A <<double>> <<tripod>> (for holding a <<plate>>, etc.) with six feet, of which three rest on the ground, in whatever position it is placed.";

    preg_match_all("|<<(.*)>>|U", $str, $out, PREG_PATTERN_ORDER);

    for($i=0; $i < count($out[0]); $i++) {
        $str = str_replace($out[0][$i], '<a href="search/'. $out[1][$i] .'">'. $out[1][$i] .'</a>', $str);
    }

echo $str;

另一种选择是使用preg_replace_callback并创建一个递归函数:

function parseTags($input) {
    $regex = "|<<(.*)>>|U";

    if (is_array($input)) {
        $input = '<a href="search/'.$input[1].'">'.$input[1].'</a>';
    }

return preg_replace_callback($regex, 'parseTags', $input);
}

$str = "A <<double>> <<tripod>> (for holding a <<plate>>, etc.) with six feet, of which three rest on the ground, in whatever position it is placed.";

echo parseTags($str);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP Regex替换标签

来自分类Dev

用php中的链接替换单词

来自分类Dev

php regex-用字符串中的链接替换所有@usernames

来自分类Dev

RegEx用图片标签替换文本URL链接

来自分类Dev

jQuery中的RegEx用多行文本字段的SharePoint列表视图上的链接替换模式

来自分类Dev

PHP Regex替换方括号和方括号之间的文本

来自分类Dev

用单词regex php替换单词

来自分类Dev

使用PHP将regex替换为regex

来自分类Dev

改善我的regex + php替换

来自分类Dev

PHP根据模式用链接替换部分字符串

来自分类Dev

使用Regex替换多次出现的标签之间的文本

来自分类Dev

用href链接替换标签

来自分类Dev

PHP RegEx匹配文本不在锚标签中

来自分类Dev

PHP和RegEx在源代码中查找多个链接

来自分类Dev

自动链接检测器(PHP + RegEx)

来自分类Dev

PHP Regex-URL-链接到文件

来自分类Dev

PHP Regex匹配引号之间的特定模式

来自分类Dev

php,regex,字符串之间

来自分类Dev

PHP RegEx删除特定字符之间的字符

来自分类Dev

php regex pregmatch删除字符之间的零

来自分类Dev

用php regex转换html标题

来自分类Dev

PHP preg_match并替换标签之间的多个实例

来自分类Dev

PHP字符串用标签之间的字符替换

来自分类Dev

PHP在多个自定义标签之间获取文本

来自分类Dev

PHP DOMDocument用文本节点替换多个子节点

来自分类Dev

php替换多个br标签

来自分类Dev

php替换多个br标签

来自分类Dev

PHP Regex替换链接(如果它没有数据属性)

来自分类Dev

php,regex和ldifde base64_encode /替换多行