wp_text_diff

Получает удобную для чтения HTML-таблицу с различиями между двумя переданными строками (текстами).

Если между строками нет различий, то wp_text_diff() вернет пустую строку. Возвращаемая таблица состоит из двух колонок: слева первый текст, справа второй. Удаленные и вставленные данные помечены тегами <del> и <ins>.

Так как wp_text_diff() возвращает HTML, функция в первую очередь используется для визуального отображения различий между старым и новым текстом.

Работает на основе классов: Text_Diff и WP_Text_Diff_Renderer_Table.

Хуков нет.

Возвращает

Cтроку: HTML код таблицы, если в строках есть разница. Если разницы нет, вернет пустую строку.

Использование

wp_text_diff( $left_string, $right_string, $args );
$left_string(cтрока) (обязательный)
“Старый текст” (будет слева).
$right_string(cтрока) (обязательный)
“Новый текст” (будет справа).
$args(cтрока/массив)

Аргументы функции. Можно установить заголовки в таблице:
title – заголовок общей таблицы. По умолчанию – пусто.
title_left – заголовок левой колонки таблицы. По умолчанию – пусто.
title_right – заголовок правой колонки таблицы. По умолчанию – пусто.

По умолчанию: null

Примеры

#1 Демонстрация сравнивания текстов
$string = 'Старый текст нечто';
$string2 = 'Новый текст нечто.';

$args = array(
	'title'       => 'Различия',
	'title_left'  => 'Старый',
	'title_right' => 'Новый',
);

$diff = wp_text_diff( $string , $string2, $args );
echo $diff;

Этот код выведет следующее:

<table class="diff">
   <colgroup>
	  <col class="content">
   </colgroup>
   <thead>
	  <tr class="diff-title">
		 <th colspan="4">Различия</th>
	  </tr>
	  <tr class="diff-sub-title">
		 <td></td>
		 <th>Старый</th>
		 <td></td>
		 <th>Новый</th>
	  </tr>
   </thead>
   <tbody>
	  <tr>
		 <td class="diff-deletedline"><del>Старый</del> текст нечто</td>
		 <td> </td>
		 <td class="diff-addedline"><ins>Новый</ins> текст нечто<ins>.</ins></td>
	  </tr>
   </tbody>
</table>

А выглядит так (зависит от css стилей вашей темы):

Различия
Старый Новый
Старый текст нечто