如何在PHP中的HTML元素中获取文本?

时间:2014-12-19 00:33:38

标签: html5

我刚开始学习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

3 个答案:

答案 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 />';
}

?>