需要一些想法,使用php [动态数据]从textarea post值获取第一个图像路径?
当按下提交按钮时,我将从$_POST['textbox']
获得这样的数据,所以我想知道从这个值获得第一个图像路径。
我试着思考了好几个小时。但我不能那样做,我该怎么办?
<p>
<span style="background-color:" rgb(206,0,0);>Hello</span>
<span style="text-decoration:" underline;">World</span>
<img src="https://www.google.co.th/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" style="width: 544px;">
<span style="font-style:italic;">Hello</span>
<span style="font-weight: bold;">World<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/DuncanEdwards1.jpg/100px-DuncanEdwards1.jpg" style="width: 100px;"></span>
<br></p>
答案 0 :(得分:1)
没有正则表达式的一种方法是将DOMDocument
与DOMXPath
结合使用,如下所示:
$str='<p><span style="background-color:" rgb(206,0,0);>Hello</span> <span style="text-decoration:" underline;">World</span> <img src="https://www.google.co.th/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" style="width: 544px;"> <span style="font-style:italic;">Hello</span> <span style="font-weight: bold;">World<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/DuncanEdwards1.jpg/100px-DuncanEdwards1.jpg" style="width: 100px;"></span><br></p>';
libxml_use_internal_errors( true );
$dom=new DOMDocument;
$dom->validateOnParse=false;
$dom->standalone=true;
$dom->strictErrorChecking=false;
$dom->recover=true;
$dom->formatOutput=false;
$dom->loadHTML( $str );
libxml_clear_errors();
$xp=new DOMXPath( $dom );
$col=$xp->query('//img');
$images=array();
foreach( $col as $img ) $images[]=$img->getAttribute('src');
echo $images[0];
答案 1 :(得分:0)
在不知道如何形成HTML的信息的情况下,我首先想到的是使用RegEx来获取在&lt; img
之后找到的第一个引用值