Как исправить quot

Ответили на вопрос 4 человека. Оцените лучшие ответы! И подпишитесь на вопрос, чтобы узнавать о появлении новых ответов.

Привет всем!
Купил прикольный скрипт микроблога на кодконьене, так вот проблемка в нем….
При добавлении сообщения на сайт (поста), вместо кавычек, на сайте показывается » & quot;»…

по принципу "новичкам везет" - перв

Почему и как исправить?
Вот файл настроек, может подскажите где поправить это:

<?php
    /*
     * Function to show an Alert type Message Box
     *
     * @param string $message	The Alert Message
     * @param string $icon		The Font Awesome Icon
     * @param string $type		The CSS style to apply
     * @return string			The Alert Box
     */
    function alertBox($message, $icon = "", $type = "") {
        return "<div class="alertMsg $type"><span>$icon</span> $message <a class="alert-close" href="#">x</a></div>";
    }

	/*
     * Function to convert a UNIX Timestamp to a Time Ago
     *
     * @param string $datetime	The Unix Timestamp
     */
	function timeago($date) {
		if (empty($date)) {
			return "No date provided";
		}
		$periods = array("second", "minute", "hour", "day", "week", "month", "year", "decade");
		$lengths = array("60","60","24","7","4.35","12","10");

		$now = time();
		$unix_date = strtotime($date);

		// check validity of date
		if (empty($unix_date)) {
			return "";
		}

		// is it future date or past date
		if ($now > $unix_date) {
			$difference = $now - $unix_date;
			$tense = "ago";
		} else {
			$difference = $unix_date - $now;
			$tense = "from now";
		}

		for ($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
			$difference /= $lengths[$j];
		}

		$difference = round($difference);

		if ($difference != 1) {
			$periods[$j].= "s";
		}

		return "$difference $periods[$j] {$tense}";
	}

	/*
     * Function to filter profanity words
	 * Replace profanity word with FontAwesome asterisks
     *
     * @param string	$text			The text to be filtered
     * @array			$filterWords	The profanity to filter for
     * @variable		$filterCount	The character length of the profanity word
     * @return string					The filtered text
     */
	function filterwords($text) {
		$filterWords = array(
			'arsehole','asshole','blow job','blow-job','blowjob','cum','cunt','dick','fuck','fucker',
			'fuckface','fuckhead','fuckin','fucking','mother fucker','motherfucker','penis','pussy',
			'titty fuck','titty-fuck','tittyfuck','twat','motherfuckin','nigger','ass','shit','shitty'
		);
		$filterCount = sizeof($filterWords);
		for($i = 0; $i < $filterCount; $i++) {
			$text = preg_replace('/b'.preg_quote($filterWords[$i]).'b/ie',"str_repeat('<i class="fa fa-asterisk filtered"></i>',strlen('$0'))",$text);
		}
		return $text;
	}

    /*
     * Function to ellipse-ify text to a specific length
     *
     * @param string $text		The text to be ellipsified
     * @param int    $max		The maximum number of characters (to the word) that should be allowed
     * @param string $append	The text to append to $text
     * @return string			The shortened text
     */
    function ellipsis($text, $max = '', $append = '&hellip;') {
        if (strlen($text) <= $max) return $text;

        $replacements = array(
            '|<br /><br />|' => ' ',
            '|&nbsp;|' => ' ',
            '|&rsquo;|' => ''',
            '|&lsquo;|' => ''',
            '|&ldquo;|' => '"',
            '|&rdquo;|' => '"',
        );

        $patterns = array_keys($replacements);
        $replacements = array_values($replacements);

        // Convert double newlines to spaces.
        $text = preg_replace($patterns, $replacements, $text);
        // Remove any HTML.  We only want text.
        $text = strip_tags($text);
        $out = substr($text, 0, $max);
        if (strpos($text, ' ') === false) return $out.$append;
        return preg_replace('/(W)&(W)/', '$1&amp;$2', (preg_replace('/W+$/', ' ', preg_replace('/w+$/', '', $out)))).$append;
    }

    /*
     * Function to Encrypt sensitive data for storing in the database
     *
     * @param string	$value		The text to be encrypted
	 * @param			$encodeKey	The Key to use in the encryption
     * @return						The encrypted text
     */
	function encryptIt($value) {
		// The encodeKey MUST match the decodeKey
		$encodeKey = '0z%E4!3I1C#5y@9&qTx@swGn@78ePqViI1C#5y@';
		$encoded = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($encodeKey), $value, MCRYPT_MODE_CBC, md5(md5($encodeKey))));
		return($encoded);
	}

    /*
     * Function to decrypt sensitive data from the database for displaying
     *
     * @param string	$value		The text to be decrypted
	 * @param			$decodeKey	The Key to use for decryption
     * @return						The decrypted text
     */
	function decryptIt($value) {
		// The decodeKey MUST match the encodeKey
		$decodeKey = '0z%E4!3I1C#5y@9&qTx@swGn@78ePqViI1C#5y@';
		$decoded = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($decodeKey), base64_decode($value), MCRYPT_MODE_CBC, md5(md5($decodeKey))), "");
		return($decoded);
	}

	/*
     * Function to strip slashes for displaying database content
     *
     * @param string	$value		The string to be stripped
     * @return						The stripped text
     */
	function clean($value) {
		$str = str_replace('\', '', $value);
		return $str;
	}
?>

Заранее спасибо!

 

Пользователь 125280

Посетитель

Сообщений: 27
Баллов: 4
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 25.04.2012

У нас 2 проблемы:

1. В компоненте свойств товара кавычки «» внезапно превратились в & quot ; — так отображается только в паблике, в админке все в порядке, проверку БД сделали. Одинарные кавычки отображаются нормально, а вот амперсанд тоже криво. Какие могут быть причины?
Строку convert_html_entity нигде не вижу, значит стоит true как по-умолчанию, но почему-то не работает.

2. В связи с первой проблемой решли обновить модули. После обновления ничего не исправилось, но настройки модуля Интернет-магазин 12.5.10 после обновления сломались. Т.е. заходишь в «Настройки — Настройки продукта — Настройки модулей — Интернет-магазин» видишь просто белый экран и названия полей (пропадает вся админка). Другие модули нормально. У кого-нибудь еще есть проблема с версией модуля 12.5.10?

Сейчас уже все откатили на 12.5.6. При повторной установке уже на тестовом сервере все то же самое.

 

Администратор

Сообщений: 1376
Баллов: 113
Авторитет:

0

Рейтинг пользователя:

3

Регистрация: 07.03.2008

Вам лучше обратится в техническую поддержку, для решения.

 

Пользователь 125280

Посетитель

Сообщений: 27
Баллов: 4
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 25.04.2012

С кавычками разобрались, а модуль так и выдает ошибку Cannot read property ‘CAutoSave’ of undefined
Пишу в саппорт.

 

Пользователь 225273

Заглянувший

Сообщений: 1
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 09.11.2013

Такая же проблема. :(

 

Пользователь 57829

Гуру

Сообщений: 3754
Баллов: 320
Авторитет:

0

Рейтинг пользователя:

2

Регистрация: 17.02.2010

и зачем обновляться в первый день — не ясно.

 

Пользователь 125280

Посетитель

Сообщений: 27
Баллов: 4
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 25.04.2012

В общем поддержка выслала исправленный файл options.php, а баг со спецсимволами мы сами поправили.

 

Пользователь 240063

Заглянувший

Сообщений: 1
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 18.06.2014

#7

0

28.06.2014 01:12:49

Цитата
Александр пишет:
В общем поддержка выслала исправленный файл options.php, а баг со спецсимволами мы сами поправили.

А как поправили то?

 

Пользователь 265054

Заглянувший

Сообщений: 4
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 12.06.2014

#8

2

29.08.2014 10:38:14

Цитата
Александр пишет:
В общем поддержка выслала исправленный файл options.php, а баг со спецсимволами мы сами поправили.

МАлАдцы!!!, что сами поправили! Очень подробная инструкция!! Форум именно для этого и существует, чтобы Все, у кого такой же баг, за Вас порадовались! Супер!! Просто нет слов! Теперь можно и ветку удалять!

 

Пользователь 367228

Заглянувший

Сообщений: 1
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 05.08.2015

#9

0

15.10.2015 06:18:01

Не знаю, может кому поможет, у меня в мобильном приложении, в наименовании каталогов &quot; вместо кавычек отображалось. Мне тех. поддержка помогла.
В файле:
/bitrix/components/bitrix/eshopapp.sections/component.php
замените строку:

Цитата
«NAME» => $arSection[«NAME»],

на

Цитата
«NAME» => $arSection[«~NAME»],

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

  • 6 Ответов
  • 10207 Просмотров

Всем доброе время суток!

Захотелось добавить в <title> страницы название фирмы в кавычках, например: ООО «Ландшафт-А»
Но кавычки преобразуются в html-вский эквивалент &quot;
И это весьма хорошо видно в том месте браузера, где отображается заголовок страницы.

Помогите, пожалуйста, решить проблему!

Записан

Жизнь заставила учиться.
В личке на вопросы не отвечаю.

Открываем
librariesjoomladocumenthtmlrendererhead.php

там находим $strHtml   = $tab . ‘<title>’ . htmlspecialchars($title). ‘</title>’ . $lnEnd;
Добавляем в новой строке
$strHtml = html_entity_decode($strHtml,ENT_QUOTES, ‘utf-8’);

Записан

Красота спасет мир, а пофигизм спасет нервы.

Открываем
librariesjoomladocumenthtmlrendererhead.php

там находим $strHtml   = $tab . ‘<title>’ . htmlspecialchars($title). ‘</title>’ . $lnEnd;
Добавляем в новой строке
$strHtml = html_entity_decode($strHtml,ENT_QUOTES, ‘utf-8’);

Lex тему нормальную подкинул, там ТС просит сделать иначе, советую сначала почитать тему кот лекс кинул

Записан

то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.

Читал, не вышло через шаблон нормально сделать чтобы кавычки отображались. Решил все таки ядро хакнуть. У меня на сайте Seo generator стоит.

Записан

Красота спасет мир, а пофигизм спасет нервы.

Ставьте человеческие кавычки, принятые в русском языке — «»
Нет проблем с отображением, если не хочется напрягаться  — все это решает плаг «русская типографика», есть на форуме.

Русская типографика хорошая штука, но я проблему уже решил.
В некоторых броузерах, в частности в mozilla 3 ветки каычки &quot; не интерпритируются в «. В опере вроде нормально.

К теме еще заметка. Для Ninja RSS syndicator!
Замена кавычек &quot; на »  в заголовках фида:
В файле homesitesite.rucomponentscom_ninjarsssyndicatorviewsninjarsssyndicatortmpldefault.php

находим $item->title = htmlspecialchars($row->title); Ниже добавляем

$item->title = html_entity_decode($item->title,ENT_QUOTES, ‘utf-8’);

« Последнее редактирование: 13.03.2012, 14:26:36 от altvvc »

Записан

Красота спасет мир, а пофигизм спасет нервы.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как исправить qr код на госуслугах
  • Как исправить port restricted cone nat router gameranger что делать
  • Как исправить pdf документ отсканированный
  • Как исправить pdf документ на айфоне
  • Как исправить p0141

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии