簡體   English   中英

preg_match轉義為反斜杠

[英]preg_match escape for backslashes

我正在嘗試從HTML SPAN元素獲取值:

<span class=\"date-display-single\">1462732200</span>

我嘗試了以下提到的方法,但是在上面提到的HTML元素中使用的后綴似乎存在問題。

我知道使用4個反斜杠可以幫助我,但沒有成功! 在上述HTML元素內實現值的任何其他方法。 1462732200

<span class=\"date\-display\-single\">(.*?)<\/span>

不要通過preg_match()解析HTML,請使用

PHP DOM文檔類

$html = '<span class=\"date-display-single\">1462732200</span>';
// a new dom object 
$dom = new domDocument('1.0', 'utf-8'); 
// load the html into the object ***/ 
$dom->loadHTML($html); 
//discard white space 
$dom->preserveWhiteSpace = false; 
$hTwo= $dom->getElementsByTagName('span'); // here u use your desired tag
echo $hTwo->item(0)->nodeValue; 
  1. 這是另一篇文章,可能會給您一些有關此問題的見解:

在HTML標簽之間預匹配php中的文本

  1. 另一種選擇也可以使用實際的解析器來解析您的數據,例如simplehtmldom。 只是把它扔出去,據我所知,這可以根據情況提供很大幫助

http://simplehtmldom.sourceforge.net

第三(或第四,取決於您的計算方式)是使用strpos。

$str = '1111<span class=\"date-display-single\">1462732200</span>22222';
$pos = strpos($str, '<span class=\"date-display-single\">');
$pos2= strpos($str, '</span>');

$str2 = strip_tags(substr($str, $pos,$pos2));
echo $str2;

但是對象操縱器為您提供了最佳答案。 去吧。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM