請教各位大大,
小弟最近使用PHP Simple HTML DOM Parser去parse <a>裡的href,
我這樣寫可以正確跑出我預期的結果。
以下是我的code:
*File Name: parser.php
====================================================================
include( 'simple_html_dom.php' ); //PHP Simple HTML DOM Parser file
$msg = '<div><p><a href="http://www.apple.com"></a></p></div>';
$html = str_get_html($msg);
$temp = "/123";
$html->find('a',0)->href = 'http://www.google.com'.$temp;
echo $html->find('a',0)->href; //OUTPUT => http://www.google.com/123
====================================================================
但是,如果我用ajax將index.php的變數丟到parser.php來處理,就會出現問題。
*File Name: index.php
====================================================================
<div id="test_area">
<div><p><a href="http://www.apple.com"></a></p></div>
</div>
<button id="send_btn" type="button">Send</button>
<script>
$(document).ready(init);
function init(){
$('#send_btn').click(function(){
var message = $('#test_area').html();
$.ajax(
{
url: 'parser.php',
cache: false,
dataType: 'json',
type: "POST",
data: {message_ajax:message},
error: function(xhr) {
alert('ERROR');
},
success: function(response)
{
alert("Works!");
}
});
});
}
</script>
====================================================================
然後小改一下parser.php
*File Name: Parser.php
====================================================================
include( 'simple_html_dom.php' ); //PHP Simple HTML DOM Parser file
$msg = $_POST['message_ajax']; //改了這裡!!!
$html = str_get_html($msg);
$temp = "/123";
$html->find('a',0)->href = 'http://www.google.com'.$temp;
====================================================================
最後我去看<a>裡的href,竟然不會動,
依舊是原來的"http://www.apple.com",
而不是"http://www.google.com/123"。
求解!!!(跪