我有代码标签“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中处理数据
答案 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
)
*/