我使用以下代碼格式化文本字符串並將它們放入<div></div>
標記中。用PHP替換字符preg_replace
<?php
$errors = '::This is line 1 ';
$errors .= '::This is line 2 ';
$errors = preg_replace('#::(.+?)\s*(?=::|$)#','<li>$1</li>',$errors);
echo ($errors);
?>
這樣做是需要的$errors
字符串,並將其變爲<li>This is line 1</li><li>This is line 2</li>
去除::
每個字符串之前的,和修整尾隨空格。
我想補充>>
每個結果的開始,因此這將是<li>>>This is line 1</li><li>>>This is line 2</li>
一種方式我認爲是添加>>
中的preg_replace
$errors = preg_replace('#::(.+?)\s*(?=::|$)#','<li>>>$1</li>',$errors);
第二部分
哪些工作,但有沒有辦法在正則表達式本身的第一部分呢?
'#::(.+?)\s*(?=::|$)#'
我也嘗試了一些方法調整的regex
,但古靈精怪的結果告終。
這是一個額外的步驟。不能這樣做。需要在'preg_replace'本身執行。 – Norman