【问题标题】:how to get value from html tag "div" to php variable如何从html标签“div”获取值到php变量
【发布时间】:2017-12-07 23:11:46
【问题描述】:

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

示例: 收件箱.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);
  }
});
});

收件箱.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 是

加利赫

只想要 Galih 的结果

结果 $strnm 是

马">

substr 不工作 我想在php中处理数据

【问题讨论】:

  • 您在寻找哪个值? &lt;div class="drnama"&gt;Galih&lt; /div&gt;这里是不是特别想找Galih?
  • 是的,只是 Galih
  • 使用 PHP 进行 DOM 操作不是一个好主意。由于您已经使用 jQuery 来获取 HTML 文本。
  • 那应该怎么做呢?从js到php?

标签: php jquery html tags


【解决方案1】:

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

$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

【讨论】:

  • 回声 $input_line;标签“div”仍然加入 echo $nm; result is 1 1是什么意思?
  • @AhmadGalih 我编辑了答案。它现在应该可以工作了。
  • 没有结果,但如果
    我更改为
    bcd
    点击 Galih 更改为
    Galih
    但结果 $output_array[1] 是 bcd
  • 如果您访问demo link 并执行代码,您可以看到它正在运行。如果$input_line 等于&lt;div class="from"&gt;bcd&lt;/div&gt;,则执行代码将在打印$output_array[1] 时产生bcd。这是你想要的?我误解你的问题了吗?
  • 几乎接近标签“div”消失了,但不是我想要的 bcd。我想要标签“li”{Ahmad、Galih 或字符串名称}中的值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多