我刚开始学习PHP,我无法想象如何从HTML元素中获取文本。
这是我的HTML代码(我正在制作一个网络文本编辑器):
<div id="example-one" contenteditable="true">
<style scoped>
#example-one { margin-bottom: 10px; }
[contenteditable="true"] { padding: 10px; outline: 2px dashed #CCC; }
[ contenteditable="true"]:hover { outline: 2px dashed #0090D2; }
</style>
<p>Everything contained within this div is editable in a browser that supports <code>HTML5</code>. Go on, give it a try: click it and start typing.</p>
</div>
请问您能解释我是如何获取段落元素或div元素的文本的吗?
感谢收听! -SAM
答案 0 :(得分:1)
如果我正确理解了您的问题,您就会尝试在HTML元素中获取文本的值并在PHP中使用它。
这并不合理,因为PHP是服务器端语言,HTML是客户端将看到的。这实际上非常好,因为它允许您在PHP中生成HTML,在PHP中散布PHP以获得您想要的内容。
示例:
<form method="post" action"">
<input name="someInputThatsAlwaysHere" />
<?php
//Now this is PHP, so we can have some fun, like having control statements:
if($condition === true) {
?>
<input name="isOnlyHereIfConditionIsTrue" />
<?php } else { ?>
<input name="isOnlyHereifConditionIsFalse" />
<?php } ?>
</form>
答案 1 :(得分:0)
此标记是否已传递到服务器?如果是这样的话有一个例子可以帮助定位here,如果您对正则表达式感到满意的话。否则,您可以使用字符串的方式并使用PHP API中的字符串拆分来获取内部内容。
如果您在客户端,则不会使用PHP,而是使用JavaScript。如果您正在使用jQuery,您可以通过执行以下操作来访问div或段落标记的ID:
var content = $("#example-one").html();
答案 2 :(得分:0)
一种方法:
<?php echo'<div id="example-one" contenteditable="true">
<style scoped>
#example-one { margin-bottom: 10px; }
[contenteditable="true"] { padding: 10px; outline: 2px dashed #CCC; }
[ contenteditable="true"]:hover { outline: 2px dashed #0090D2; }
</style>
<p>Everything contained within this div is editable in a browser that supports<code>HTML5</code>. Go on, give it a try: click it and start typing.</p>
</div>';
?>
另一种方法:
<?php
$html = '<div id="example-one" contenteditable="true">
<style scoped>
#example-one { margin-bottom: 10px; }
[contenteditable="true"] { padding: 10px; outline: 2px dashed #CCC; }
[ contenteditable="true"]:hover { outline: 2px dashed #0090D2; }
</style>
<p>Everything contained within this div is editable in a browser that supports <code>HTML5</code>. Go on, give it a try: click it and start typing.</p>
</div>';
$content = getTextBetweenTags('html', $html, 1);
foreach( $content as $item )
{
echo $item.'<br />';
}
?>