PHP заменяет часть строки ссылкой на основе шаблона - PullRequest
0 голосов
/ 13 сентября 2018

Я хотел бы заменить все слова, начинающиеся с 3ABC, ссылкой, включая найденное слово.Например:

testtring 3ABCJOEDKLSZ2 testtring hello test

Вывод будет:

test string <a href='https://google.com/search/3ABCJOEDKLSZ2'>3ABCJOEDKLSZ2</a>  teststring hello test

Подстрока, которую я ищу, всегда начинается с 3ABCвсе после этого динамично.

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018
<?php
function makeLink($string)
{
    $pattern='/^3ABC[\w\d]+$/';
    $url='https://google.com/search/';
    $result=preg_replace($pattern, $url.$string ,$string);
    return $result;
}
echo makeLink('3ABCHJDGIFD');
?>

Как это? http://php.net/manual/en/function.preg-replace.php

шаблон будет соответствовать любой цифре или символу слова после 3ABC.

0 голосов
/ 13 сентября 2018

Вы можете использовать функцию php preg_replace , чтобы сопоставить 3ABC с последующим 0 или более символами, которые не являются пробелами, а затем использовать совпадение в вашем коде:

$literal = "teststring 3ABCJOEDKLSZ2 teststring hello test";
$formatted = preg_replace("/3ABC\S*/", '<a href="https://google.com/search/\0">\0</a>', $literal);

echo $formatted;

Fiddle: Live Demo

...