что я пытаюсь сделать? Я пытаюсь сделать код, чтобы найти, если дубликаты данных в базу данных или нет, эти данные это текст Контент, написанный пользователями. поэтому я делаю sql-запрос, чтобы получить результат строки pagetext
из базы данных и очистить ее от любых знаков и координировать (цвет шрифта, размер шрифта и тип шрифта), а также ссылки на изображения или любые ссылки, а также я делаю это для переменной $post['message']
, которые получают Содержимое текстовой области. , чем я проверяю, является ли контент $post['message']
тем же содержанием pagetext
или нет!php array из результата запроса mysql
Полный код:
// FUNCTION TO CLEAN TEXT
function stripBBCode($text_to_search)
{
$pattern = '|[[\/\!]*?[^\[\]]*?]|si';
$replace = '';
return preg_replace($pattern, $replace, $text_to_search);
}
// MYSQL QUERY
$ckeck = $db->query_read(" SELECT pagetext FROM " . TABLE_PREFIX . " post ");
$ckeck_num = mysql_num_rows($ckeck);
while ($ckeckpagetext = $db->fetch_array($ckeck))
{
// RESULT FROM QUERY - here i try to make ARRAY BY [square brackets]
$pagetext[] = stripBBCode($ckeckpagetext['pagetext']);
$pagetext[] = preg_replace('/[\s]+/mu','', $pagetext);
$pagetext[] = preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i', '', $pagetext);
// Variable
$message = stripBBCode($post['message']);
$message = preg_replace('/[\s]+/mu','',$message);
$message = preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i', '', $message);
// LOOP
for($x=0; $x<$ckeck_num; $x++)
{
// CHECK IF THERE duplicate TEXT OR NOT
if ($message == $pagetext[$x])
{
$ckeck_duplicate = 1;
}else{
$ckeck_duplicate = 2;
}
}
}
Моя проблема? мой код Почти правильно, но моя проблема в этих строках [квадратные скобки]. когда я пытаюсь большой массив для моего результата
// RESULT FROM QUERY
$pagetext[] = stripBBCode($ckeckpagetext['pagetext']);
$pagetext[] = preg_replace('/[\s]+/mu','', $pagetext);
$pagetext[] = preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i', '', $pagetext);
, если я использовал только первую строку без используемой preg_replace
код работает хорошо. , когда я использую [квадратные скобки] для
$pagetext[] = stripBBCode($ckeckpagetext['pagetext']);
Вы можете посмотреть на этот вопрос. http://stackoverflow.com/questions/26449506/php-extracting-string-between-two-tags-by-childs-content – addicted20015
@ addicted20015 Я посмотрю на это сейчас thnx –
@ addicted20015, это не я хочу .. На самом деле, далеко не то, что я хочу сделать –