使用PHP获取innerHTML

时间:2014-04-12 15:09:07

标签: php

我花了整个上午的研究,并在SO的帮助下,想出了如何使用Javascript抓取元素的innerHTML。

这是为搜索和社交开放图填充元标记。这里讨论的标签是元描述标签。

我在Javascript中使用的是:

document.getElementsByClassName("report-description-text")[0].childNodes[2].nodeValue;

(有点尴尬)html结构是这样的:

<!-- start report description -->
<div class="report-description-text">
<h5>Description</h5>
Welcome to Ushahidi. Please replace this report with a valid incident
<br/>
</div>

我想抓住“欢迎来到Ushahidi ......”的文字。但是这个文本不在任何html标签内,它只是文本。上面的JS用于抓取该文本。

然后我尝试将其集成到PHP脚本中,但是我很快就被投票了,因为我现在知道,你不能在服务器端执行JS(我知道但是从来没有足够的练习来真正得到它)。

PHP脚本如下所示:

if( strpos($url, '/reports/view') === 0 ) { 
echo '<!-- Make this site discoverable, shareable and searchable -->
<meta name="description" content=[figure out what to put here]/>
// deal with these other metas later                    
<meta name="author" content="my name" />

在这个例子中,我想要内容的内容: content =“欢迎来到Ushahidi ....”/&gt;

我如何使用PHP做到这一点?它和JS一样简单吗?我做了一些研究,但只是让自己陷入困惑。

1 个答案:

答案 0 :(得分:1)

您必须首先了解PHP在服务器端运行,然后在客户端呈现Html。

你应该尝试反过来解决问题。尝试以下几点:

在PHP中定义:

$description = "Welcome to Ushahidi. Please replace this report with a valid incident";

您可以在所有PHP代码中使用此变量:

echo '<!-- Make this site discoverable, shareable and searchable -->
<meta name="description" content=['.$description.']/>
// deal with these other metas later                    
<meta name="author" content="my name" />

然后在html上,您仍然可以使用此变量,因为它已经设置:

<h5>Description</h5>
<?php echo $description; ?>
<br/>