Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Небольшая головоломка
 
 автор: Николай2357   (14.07.2008 в 18:14)   письмо автору
 
 

Здравствуйте.
Сломал голову на такой задачке: в тексте есть группа символов =3D. Еще есть по отдельности = и 3D. Как удалить из текста все символы =, группы =3D заменить на =, и чтобы 3D, которые отдельно, остались на месте?

$text=preg_replace("#=#", "", $text);
$text=preg_replace("#3D#", "=", $text);

Все 3D пропали...

$text=preg_replace("#=3D#", "=", $text);

Как теперь = убрать?
Есть наверное способ, о котором я пока не знаю, подскажите пожалуйста.
Спасибо.

   
 
 автор: sms-send   (14.07.2008 в 18:18)   письмо автору
 
   для: Николай2357   (14.07.2008 в 18:14)
 

1. Пример начального текста
2. Что получается
3. Что должно получиться

   
 
 автор: Николай2357   (14.07.2008 в 18:29)   письмо автору
 
   для: sms-send   (14.07.2008 в 18:18)
 

Ну например
st=yle=3D'color:red';
и в этом же тексте бинарный 3D F1 B7 и т д.
Нужно чтобы было
style='color:red';
3D F1 B7...

   
 
 автор: sms-send   (14.07.2008 в 20:48)   письмо автору
 
   для: Николай2357   (14.07.2008 в 18:29)
 

Дольше вникал в смысл условия...

<?php

$text 
'st=yle=3D\'color:red\';';
$text preg_replace_callback('~=(?>(?:3D)?)~''my_cb'$text);
function 
my_cb($m)
{
    if(
$m[0] == '=')return '';
    return 
'=';
}
echo 
$text;

   
 
 автор: Николай2357   (14.07.2008 в 21:17)   письмо автору
 
   для: sms-send   (14.07.2008 в 20:48)
 

Стыдно обращаться с такими пустяками, но я уже с ума схожу. Большое спасибо, эта штука работает , только почемуто на отдельной страничке. Как только я ее в свой скрипт вставляю, сразу пишет Requires argument 2, 'my_cb', to be a valid callback
Я понерусски плохо понимаю, в каком она аргументе нуждается?

   
 
 автор: sms-send   (14.07.2008 в 21:20)   письмо автору
 
   для: Николай2357   (14.07.2008 в 21:17)
 

Функция my_cb в месте вызова определена?

var_dump(function_exists('my_cb'));

   
 
 автор: Николай2357   (14.07.2008 в 21:33)   письмо автору
 
   для: sms-send   (14.07.2008 в 21:20)
 

Не помогает. Главное, что отдельно работает, обидно.
Теперь еще bool(false) выдала. Это что еще за зверь?

   
 
 автор: sms-send   (14.07.2008 в 21:41)   письмо автору
 
   для: Николай2357   (14.07.2008 в 21:33)
 

Ну это значит, что функция my_cb не объявлена. Можно попробовать вынести объявление функции повыше, лучше в самое начало скрипта.

   
 
 автор: Николай2357   (14.07.2008 в 21:45)   письмо автору
 
   для: sms-send   (14.07.2008 в 21:41)
 

Блин, самой первой строчкой поставил, фигвам.
А почему отдельно работает?

   
 
 автор: sms-send   (14.07.2008 в 21:49)   письмо автору
 
   для: Николай2357   (14.07.2008 в 21:45)
 

Я не вижу кода и ничего не могу сказать.

   
 
 автор: Николай2357   (14.07.2008 в 21:56)   письмо автору
 
   для: sms-send   (14.07.2008 в 21:49)
 

Все,заработало! Огромное спасибо!!! Что бы я без Вас делел...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования