我正在嘗試使用正則表達式在字符串中抓取字符串。我看了看又看,但是我似乎無法獲得必須工作的任何示例。我需要獲取html標簽<code>和</ code>以及它們之間的所有內容。然后,我需要從父字符串中提取匹配的字符串,對兩者進行操作,然后將匹配的字符串放回父字符串中。這是我的代碼:$content = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. <code>Donec sed erat vel diam ultricies commodo. Nunc venenatis tellus eu quam suscipit quis fermentum dolor vehicula.</code>"$regex='';$code = preg_match($regex, $text, $matches);我已經嘗試過這些,但是沒有成功:$regex = "/<code\s*(.*)\>(.*)<\/code>/";$regex = "/<code>(.*)<\/code>/";
3 回答

呼如林
TA貢獻1798條經驗 獲得超3個贊
$regex = '#<code>(.*?)</code>#';
使用#作為分隔符,而不是/因為那時我們不需要逃避/的</code>
如下所述,Phoenix .*?用來使.*(“ anything”)在遇到一個</code>(稱為“非貪婪量詞”)之前盡可能少地匹配字符。這樣,如果您的字符串是
<code>hello</code> something <code>again</code>
您將匹配hello,again而不僅僅是匹配hello</code> something <code>again。

ITMISS
TA貢獻1871條經驗 獲得超8個贊
這個功能對我有用
<?php
function everything_in_tags($string, $tagname)
{
$pattern = "#<\s*?$tagname\b[^>]*>(.*?)</$tagname\b[^>]*>#s";
preg_match($pattern, $string, $matches);
return $matches[1];
}
?>
- 3 回答
- 0 關注
- 739 瀏覽
添加回答
舉報
0/150
提交
取消