XML:
<programme start="20180124160000 +0200" stop="20180124164500 +0200" channel="506"><title lang="he">
ריזולי ואיילס 7 11. הגופה</title><desc lang="he">
מתח. 11. הגופה: גופתו של קברן נמצאת בתוך ארון קבורה של אחד מלקוחותיו והדבר מוביל את חברי הצוות לחשיפת גופות נוספות. ג'יין מבשרת לקרוביה על החלטתה לעבור לאף.בי.איי.</desc></programme></programmes>
我想从文本中删除所有
如何使用str_replace删除它?
PHP:
$c = $xpath->query("div[@class = 'show']/text()", $container)->item(0);
$desc = $c->nodeValue;}
$desc = str_replace(" ", "", $desc);
$echo desc;
答案 0 :(得分:1)
解析器将为您完成:
$document = new DOMDocument();
$document->loadXml('<foo> </foo>');
var_dump($document->documentElement->textContent);
输出:
string(1) "
"
var_dump()输出显示该字符串只包含一个字符 - 回车符。但是,解析器仅对普通文本节点执行此操作,而不是对CDATA部分执行此操作:
$document = new DOMDocument();
$document->loadXml('<foo><![CDATA[ ]]></foo>');
var_dump($document->documentElement->textContent);
输出:
string(5) " "
在此,您需要使用字符串函数手动替换实体。
提示:使用DOMXpath::evaluate()
,您可以使用string
函数直接获取文本内容作为字符串来强制转换节点列表:
$description = $xpath->evaluate("string(div[@class = 'show'])", $container);
答案 1 :(得分:0)
似乎沿着这条线的某个地方,字符串已被html编码。
您可以使用以下方法重新解码:
let Projects = {
template: `<v-expansion-panel >
<v-expansion-panel-content ripple v-for="project in filteredProjects "
:key="project.id" lazy><div slot="header"
@click="loadSpaces(project)">{{project.name}}</div>
<v-card>
<v-card-text class="grey lighten-3" >
<v-btn flat block
v-for="space in spaces" :key="space.id"
@click="loadLayout(project)">{{space.id}}</v-btn>
</v-card-text>
</v-card>
</v-expansion-panel-content>
</v-expansion-panel>`,
components: {
Spaces
},
props: {
searchFilter: String
},
data: () => ({
data: uniBuilderProjects.state,
}),
computed: {
filteredProjects: function () {
var self = this;
return self.data.projects.filter(function (project) {
return project.name.toUpperCase().indexOf(self.searchFilter.toUpperCase()) !== -1;
})
},
spaces: function () {
return this.data.spaces;
}
},
methods: {
loadSpaces: function(project){
uniBuilderProjects.loadSpaces(project.id);
}
},
mounted: function () {
// Load Projects
uniBuilderProjects.loadProjects();
this.$devices = this.$resource('https://jsonplaceholder.typicode.com/posts{/id}/comments');
}
};
或:
html_entity_decode('thisisa test')
See here它是如何运作的。