У меня этот код в файле author.php
:
$buffy .= '<div class="td-author-description">'; $buffy .= get_the_author_meta('description', $author_id); $buffy .= '</div>';
Как можно обрабатывать строку $buffy
buffy, чтобы ссылки в описании автора автоматически устанавливали атрибут rel="nofollow"
?
Это действительно более общий вопрос PHP, но это будет делать трюк:
$author_desc = '<div class="td-author-description">'; $author_desc .= get_the_author_meta( 'description', $author_id ); $author_desc .= '</div>'; $dom = new DOMDocument; $dom->loadHTML( mb_convert_encoding( $author_desc, 'HTML-ENTITIES', 'UTF-8' ) ); $sxe = simplexml_import_dom( $dom ); // Process all <a> nodes with an href attribute foreach ( $sxe->xpath( '//a[@href]' ) as $a) { if ( empty( $a['rel'] ) ) { $a['rel'] = 'nofollow'; } else { $a['rel'] .= ' nofollow'; } } $author_desc = $dom->saveHTML(); $buffy .= $author_desc;
Замените исходный код в своем вопросе кодом в этом ответе (это основано на полном коде, который вы разместили здесь ).
Код, адаптированный из этого ответа о переполнении стека. Кодирование исправления через этот пост .