如何从html标签“div”获取值到php变量

时间:2017-12-07 23:11:47

标签: php jquery html5 tags

我有代码标签“div”,它的值会改变,因为我在点击时使用了jquery。 我使用代码ob_get_contents()传递给php变量,但标签“div”也加入。 我怎样才能获得价值?

示例: inbox.js

jQuery(document).ready(function($) {
var cols = {}, messageIsOpen = false;
cols.showMessage = function() {
    $('body').addClass('show-message');
    messageIsOpen = true;
};
cols.hideMessage = function() {
    $('body').removeClass('show-message');
    $('.message-list li').removeClass('active');
messageIsOpen = false;
};
$('.messagelist .li')on('click', function(e){
  var item = $(this);
  if(messageIsOpen && item.is('.active')) {
    cols.hideMessage();
  }else{
    item.addClass('active');
    cols.showMessage();
    var drnm = $(".active .darinama").text();
    $(".from").text(drnm);
  }
});
});

inbox.php

<div class="messagelist">
  <ul>
    <li>
      <div class="darinama">Ahmad</div>
    </li>
    <li>
      <div class="darinama">Galih</div>
    </li>
    <li>
      <div class="darinama">String name</div>
    </li>
  </ul>
</div>
<div id=message>
  <?php
    php ob_start();
  ?>
  <div class="from"></div>
  <?php 
    $nm = ob_get_contents();
    $strnm = substr($nm, 20);
    ?>
</div>

结果$ nm是

  

&LT; div class =“drnama”&gt; Galih&lt; / DIV&GT;

想要结果只是Galih

结果$ strnm是

  

毫安“&GT;

substr无法正常工作 我想在php中处理数据

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式来解析值。

$input_line1 = '<div class="drnama">Galih</div>';
$input_line2 = '<li>list item</li>';

// works for any HTML tag
$regex = "/<([\w]+)[^>]*>(.*?)<\/([\w]+)>/";

$nm = preg_match($regex, $input_line2, $output_array);
print_r($output_array);

/*
Array
(
    [0] => <li>list item</li>
    [1] => li
    [2] => list item
    [3] => li
)
*/

$nm = preg_match($regex, $input_line1, $output_array);
print_r($output_array);

/*
Array
(
    [0] => <div class="drnama">Galih</div>
    [1] => div
    [2] => Galih
    [3] => div
)
*/

Demo