Может кто-нибудь помочь мне отредактировать мой вопрос, чтобы он соответствовал SO правилам?Я задал правильный вопрос и получил ответ от полезного SO'er, но он не был хорошо принят сообществом SO
Я вытащил блок кода, удаляя ненужныйзатем используйте оставшийся код на моей странице.
Код содержит якорные теги, ссылки на которые я не хочу хранить, но мне нужно иметь возможность оставлять стили для элементов ссылок.
IВ настоящее время используется
$tweettext = strip_tags($tweettext, '<div>, <p>, <a>');
, который работает.Но оставляет меня с якорными тегами, которые ссылаются на неработающие ссылки (они не работают, поскольку он использует относительные ссылки и извлекается с внешнего сайта).
Если я использую
$tweettext = strip_tags($tweettext, '<div>, <p>');
Удаляетненужные ссылки, но теперь у меня нет элемента, к которому можно применить стили.
Могу ли я поменять тег с тега 'a' на тег 'span' перед тем, как пропустить его, чтобы удалить ненужныетеги («a» не требуется, если текст «a» обернут в «span»)?
Так что я могу использовать
$tweettext = strip_tags($tweettext, '<div>, <p>, <span>');
Мне просто нужен прямой обмен 'aФункция 'to' span '.
CODE PON DE REQUEST (не имеет отношения к моему актуальному вопросу, я просто хочу узнать функцию, в которой я могу swap_tags () или swap_text ()):
Рабочий код (с использованием preg_match (), ответ на мой вопрос):
<?php
foreach($tweet->find('.tweet-text') as $tweettext) {
$tweettext = str_ireplace('TweetTextSize TweetTextSize--normal js-tweet-text ', '', $tweettext);
$tweettext = str_ireplace('data-aria-label-part="0"', '', $tweettext);
$tweettext = str_ireplace('lang="en" ', '', $tweettext);
$tweettext = str_ireplace('data-query-source="hashtag_click" ', '', $tweettext);
$tweettext = str_ireplace(' pretty-link js-nav" dir="ltr" ', '"', $tweettext);
$tweettext = preg_replace('/href=".*?"/', '', $tweettext);
$tweettext = str_ireplace('<a', '<span', $tweettext);
$tweettext = str_ireplace('</a>', '</span>', $tweettext);
$tweettext = strip_tags($tweettext, '<div>, <p>, <span>');
if($imgmatches[1] != '') {
$tweettext = str_ireplace('tweet-text', 'tweet-text tweet-has-bg-text ', $tweettext);
} else {
$tweettext = str_ireplace('tweet-text', 'tweet-text', $tweettext);
}
echo $tweettext;
}
Правильный вывод:
<p class="tweet-text">
We’ve got a number of international exhibition stand builds this quarter; including <span class="twitter-atreply" data-mentioned-user-id="441777148">@StocExpo</span> in Rotterdam. This is the 4th year we have undertaken a stand at StocExpo for <span class="twitter-atreply" data-mentioned-user-id="290202396">@Dantecltd</span> <span class="twitter-hashtag">#exhibition</span> <span class="twitter-hashtag">#StocExpo</span>
</p>
Спасибо, Джейсон.