0
Итак, я попытался получить что-либо с заменой #texthere t на ссылку, чтобы я мог перейти к хеш-странице этого конкретного хэша.Использование Preg_replace с Json
С кодом, который у меня есть, я просто продолжаю получать «неопределенные» обратно. Может кто-нибудь, пожалуйста, взгляните и укажите, где я ошибаюсь.
$json = array(
'userpost' => array()
);
$row = mysqli_fetch_assoc($check1);
$posts = array();
$posts['num'] = $num;
$posts['streamitem_id'] = $row['streamitem_id'];
$autoembed = new AutoEmbed();
$posts['streamitem_content'] = $autoembed->parse($row['streamitem_content']);
$regex = "/#(\w+)/";
$string=$row['streamitem_content'];
$string = preg_replace($regex, '<a href="hash.php?tag=$1">$1</a>', $string);
$posts['streamitem_content']=json_decode($string);
$posts['streamitem_creator'] = $row['streamitem_creator'];
$posts['streamitem_timestamp'] = $row['streamitem_timestamp'];
$posts['username'] = $row['username'];
$posts['id'] = $row['id'];
$posts['first'] = $row['first'];
$posts['middle'] = $row['middle'];
$posts['last'] = $row['last'];
$json['userpost'][] = $posts;
echo json_encode($json);
'$ 0' - ничто; группы захвата начинаются с '$ 1'. Вы также можете упростить регулярное выражение до '# (\ w +)'. Я не уверен, почему вы количественно определяете '#', будет ли более 1 '#' в строке, и если бы последующие были частью самого тега? Ваше сообщение 'undefined' звучит как ошибка JS, хотя .. – chris85
изменен, и я просто получаю 'null' обратно на стороне клиента. –
Исходные неопределенные и нулевые сообщения поступают со стороны сервера и показывают его рядом с streamitem_content в firebug –