0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 380 Просмотров
*

hidone

  • Захожу иногда
  • 10
  • 0
Здравствуйте!

Не могу разобраться как работает introtext.
Пытаюсь в блоке вывода новостей получить из introtext содержимое <h1>Привет</h1>


Код
$pos1 = strpos($item->introtext, '<h1>');
$pos2 = strpos($item->introtext, '</h1>');
$title_of_content = substr($item->introtext, $pos1+4, $pos2);
echo "<!---->";
echo $title_of_content;
echo "<!---->";

В итоге выводится
<!---->
"Привет"


Откуда берутся кавычки и куда делся второй комментарий <!---->?


А если выводить например так, заключить переменную в тег <b>
Код
echo "<!---->";
echo <b>.$title_of_content.</b>;
echo "<!---->";

То вообще происходит неведомая хрень.
Выводится
<!---->
<b>"Привет"
а закрывающий тег </b> выводится на много ниже через несколько других тегов ломая весь код.

Как такое получается и что делать?



*

dmitry_stas

  • Профи
  • 9972
  • 944
Re: introtext как работает не понятно
« Ответ #1 : 20.02.2016, 10:45:10 »
Цитировать
Как такое получается и что делать?

что вам известно о многобайтовых кодировках, например об UTF-8?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Wertos

  • Завсегдатай
  • 505
  • 21
Re: introtext как работает не понятно
« Ответ #2 : 20.02.2016, 11:02:31 »
Код: php
preg_match_all('#<h4>(.+?)<\/h4>#isu', $item->introtext, $arr);
echo $arr[1];
Я бы так сделал, или использовал

Код: php
JString::strpos

https://api.joomla.org/cms-3/classes/JString.html
*

dmitry_stas

  • Профи
  • 9972
  • 944
Re: introtext как работает не понятно
« Ответ #3 : 20.02.2016, 11:33:25 »
и JString::substr
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

hidone

  • Захожу иногда
  • 10
  • 0
Re: introtext как работает не понятно
« Ответ #4 : 20.02.2016, 14:06:55 »
что вам известно о многобайтовых кодировках, например об UTF-8?
Ничего, кроме того что я в ней сохраняю все файлы.


Вариант
Код
$pos1 = JString::strpos($item->introtext, '<h1>');
$pos2 = JString::strpos($item->introtext, '</h1>');
$title_of_content = JString::substr($item->introtext, $pos1+4, $pos2);

никак не меняет результат.


Вариант
Код
preg_match_all('#<h1>(.+?)<\/h1>#isu', $item->introtext, $arr);
$title_of_content = $arr[1][0];
работает, спасибо
*

dmitry_stas

  • Профи
  • 9972
  • 944
Re: introtext как работает не понятно
« Ответ #5 : 20.02.2016, 14:11:02 »
никак не меняет результат.
потому что в substr 3-й параметр - это длина возвращаемой строки, а не до какого символа вернуть строку
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

hidone

  • Захожу иногда
  • 10
  • 0
Re: introtext как работает не понятно
« Ответ #6 : 20.02.2016, 14:42:34 »
Действительно, спасибо, этот вариант тоже работает
Код
$pos1 = JString::strpos($item->introtext, '<h1>');
$pos2 = JString::strpos($item->introtext, '</h1>');
$title_of_content = JString::substr($item->introtext, $pos1+4, $pos2-4);
*

dmitry_stas

  • Профи
  • 9972
  • 944
Re: introtext как работает не понятно
« Ответ #7 : 20.02.2016, 14:44:48 »
так будет правильно работать только если $pos1=0, т.е. только если <h1> в самом начале строки
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Объясните как работает MVC Override с помощью плагина Joomla!

Автор kens1n

Ответов: 8
Просмотров: 323
Последний ответ 09.10.2016, 11:00:25
от robert
Разработка компонента: в админке в списке не работает смена состояния записи

Автор AlekVolsk

Ответов: 4
Просмотров: 378
Последний ответ 10.11.2014, 16:23:12
от b2z
Joomla 3.1 не находит JRequest. Не работает AJAX!

Автор justquestion

Ответов: 2
Просмотров: 1604
Последний ответ 11.10.2013, 12:42:08
от Aleks.Denezh