如何使用PHP获取文本格式的图像路径?
我的文字格式如下:
<p><span style="\"background-color:" rgb(255,="" 255,="" 0);="" font-weight:="" bold;="" font-style:="" italic;="" text-decoration:="" underline;\"="">TEST</span> <img src="\"https://www.google.co.th/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png\"" style="\"width:" 544px;\"=""> <span style="\"font-style:" italic;\"="">TEST<img src="\"https://www.wikipedia.org/portal/wikipedia.org/assets/img/Wikipedia-logo-v2.png\"" style="\"width:" 200px;\"=""></span><br></p>
我的代码是:
<?php
$str='<p><span style="\"background-color:" rgb(255,="" 255,="" 0);="" font-weight:="" bold;="" font-style:="" italic;="" text-decoration:="" underline;\"="">TEST</span> <img src="\"https://www.google.co.th/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png\"" style="\"width:" 544px;\"=""> <span style="\"font-style:" italic;\"="">TEST<img src="\"https://www.wikipedia.org/portal/wikipedia.org/assets/img/Wikipedia-logo-v2.png\"" style="\"width:" 200px;\"=""></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];
?>
当我测试我的代码时,它会显示:
\"https://www.google.co.th/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png\"
我想知道如何更改我的代码以显示:
https://www.google.co.th/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png
答案 0 :(得分:0)
echo substr($ images [0],2,strlen($ images [0]) - 5);
如果我没有错,请$images[0] =\"https://www.google.co.th/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png\"
然后substr函数将$ images [0]字符串切片,它将从索引2开始并获取strlen($ images [0]) - 5个字符串是strlen($ images [0])是字符串的大小 - 5然后它将产生你想要的结果。
答案 1 :(得分:0)
可以使用stripslashes
删除其中的html实体并使用html_entity_decode
。
所以,你的回声应该是这样的:
echo stripslashes(html_entity_decode($images[0]));
OR
echo stripslashes($images[0]);
取决于您是否也要转换html实体。