Я пытаюсь создать регулярное выражение для поиска SD-NNNNN (где N является числом) в любом месте записи, чтобы я мог превратить это в гиперссылку.Создание регулярного выражения для функции в PHP
Значит, вы знаете, что я пытаюсь сделать, это простая запись в базе данных, содержащая комментарии о чем-то, что было сделано в течение дня, комментарий может содержать ссылку на билет, которую я пытаюсь получить так что он может указать URL-адрес билета.
Мне кажется, что я не вижу головы вокруг регулярного выражения, так что до сих пор у меня нет радости, даже не уверен, что это правильный способ сделать что-то.
Вот мой текущий код:
$cRow = current($row);
if ($cRow == "INSERT REGEX/PREG_MATCH/WHATEVER) {
$regex = "<a href='http://something.com/search/$regex'>$regex</a>";
}
echo "<td style='word-wrap: break-word'>$cRow</td>";
next($row);
$y++;
Полностью еще не закончена, но основная идея заключается в том, что $ c_row может быть что угодно, но если она содержит SD-NNNNN, то было бы только заменить SD-NNNNN с гиперссылка, назвав ее тем же самым.
Любой, кто может мне помочь?
Комментарий не форматирует код очень хорошо, поэтому здесь обновление:
Это то, что я пробовал:
$c_row = current($row);
$str = "<a href='https://example.com/browse/";
$regex = "/^SD-\d{5}/";
if (preg_match($regex, $c_row)
{
$c_row = preg_replace($regex, $str$0, $c_row);
}
echo "<td style='word-wrap: break-word'>" . $c_row . '</td>';
next($row);
$y = $y + 1
Что дает мне ошибку 500 для {под если.
'preg_match ('/ SD- \ d {5} /', $ str);'? – Jan
Прямо сейчас, вопрос слишком неясен. Пожалуйста, укажите больше контекста. Понятно, что вы хотите сопоставить некоторый текст «SD-xxxxx» в некотором HTML. Я предлагаю использовать DOMDocument с DOMXPath для получения текстовых узлов и делать необходимые замены только внутри них. –
@stribizhev, вопрос был обновлен, чтобы показать, что я пытаюсь сделать –