$results = simplexml_load_string($results);
foreach($results as $result){
$result_title = $result->label;
$result_title = preg_replace('#[^a-zA-Z]+Extra Title#', '', $result_title);
$result_title = ltrim($result_title);
第一个 preg_replace 去掉了 $result->label 末尾的模式(var_dumps 作为 XML 对象)并输出,不是 XML 对象,而是字符串。
这很令人惊讶,因为我认为 preg_replace 只适用于字符串而不适用于 XML 对象。$result 中的Avar_dump
显示:
object(SimpleXMLElement)#1003 (1) { [0]=> string(31) " Some Text > Extra Title" }
请注意“一些文本”之前的额外空格。但是,第二个ltrim($result_title);
会导致此错误:
未捕获的类型错误:对象 [对象对象] 没有“建议”方法
那我在处理什么?字符串还是对象?以及如何修剪空白?
为第一个空格尝试 preg_replace 也会输出与上述相同的错误。
$result_title = preg_replace('/\s/', '', $result_title, 1);