标签: htmlspecialchars

注意:使用未定义的常量ENT_HTML5 - 假设为'ENT_HTML5'

我正在尝试创建一个接受htmlspecialchars参数的简单方法.虽然我收到PHP通知:

使用未定义的常量ENT_HTML5 - 假设为'ENT_HTML5'

  1. 可能导致这种情况的任何想法?

/**

 * Encode string.
 *
 * @param array/string $value
 * @param string $param
 * @return string
 */
protected function escape($mixed, $params) {

    $defaults = array('flags' => ENT_QUOTES | ENT_HTML5, 'charset' => 'UTF-8');
    $params = array_merge($defaults, $params);

    if (is_array($mixed)) {
        foreach($mixed as $key => $value) {
            $mixed[$key] = $this->escape($value, $params['flags'], $params['charset']);
        }
    } elseif (is_string($mixed)) {
        $mixed = htmlspecialchars($mixed, $params['flags'], $params['charset']);
    }

    return $mixed;
}
Run Code Online (Sandbox Code Playgroud)
  1. 如果我改变:ENT_QUOTES | ENT_HTML5进入:ENT_QUOTES,我会得到一个不同的错误

警告:htmlspecialchars()期望参数2为long,给定字符串

UPDATE

我使用的是PHP 5.3,这就是HTML5错误的原因.如果我 …

php htmlspecialchars

12
推荐指数
1
解决办法
1万
查看次数

如何在PHP中显示特殊字符

我已经多次看过这个问题了,但没有很好的分辨率.我有以下字符串:

$string = "<p>Résumé</p>";
Run Code Online (Sandbox Code Playgroud)

我想打印或回显字符串,但输出将返回<p>R?sum?</p>.所以我尝试htmlspecialchars()或者htmlentities()哪些输出&lt;p&gt;R&eacute;sum&eacute;&lt;p&gt;和浏览器呈现&lt;p&gt;R&eacute;sum&eacute;&lt;p&gt;.显然,我希望它能够呈现:

恢复

而且我使用的是UTF-8:

header("Content-type: text/html; charset=UTF-8");
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?为什么回声和打印输出?为任何特殊字符?为了澄清,字符串实际上是存储在数据库中的整个html文件.现实世界的应用不仅仅是一条小线.

php special-characters htmlspecialchars

12
推荐指数
2
解决办法
9万
查看次数

htmlspecialchars utf-8返回空字符串

我正在做.php RSS生成器,我在尝试从此行中获取数据时遇到问题:

<description><![CDATA[<?=htmlspecialchars(utf8_substr($row['texto'], 0, 100), ENT_QUOTES, 'utf-8') ?>...]]></description>
Run Code Online (Sandbox Code Playgroud)

有些条目显示得很好,有些条目不会返回任何文字......任何关于什么可能出错的想法?

这是所有代码:

<?php

require('php/config.php');
require('php/db.php');
require('php/utils.php');

header("Content-type: application/xml");

$db = new TSQL('SELECT * FROM entradas WHERE estado = 1 ORDER BY fecha DESC LIMIT 20');
if ( $db->executeQuery() ) {

?><?='<?xml version="1.0" encoding="utf-8" ?>' ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Tu Secreto</title>
        <link>http://www.tusecreto.com.ar/</link>
        <description>TuSecreto / No se lo cuentes a nadie, contaselo a todos</description>
        <language>es-ar</language>
        <copyright>TuSecreto (C) 2005-<?php print strftime("%Y", time()); ?></copyright>
        <lastBuildDate><?=strftime("%a, %d %b %Y %H:%M:%S ", $row['fecha']) ?></lastBuildDate>
        <atom:link href="http://www.tusecreto.com.ar/rss.php" rel="self" …
Run Code Online (Sandbox Code Playgroud)

php mysql utf-8 htmlspecialchars

11
推荐指数
1
解决办法
1万
查看次数

如何替换已解码的不可破坏空间(nbsp)

假设我有一个刺痛,"a s d d"并将htmlentities其变成
"a&nbsp;s&nbsp;d&nbsp;d".

如何替换(使用preg_replace)而不将其编码为实体?

我试过了preg_replace('/[\xa0]/', '', $string);,但它不起作用.我正试图从我的字符串中删除那些特殊字符,因为我不需要它们

regexp之外的可能性有哪些?

编辑我要解析的字符串:http://pastebin.com/raw/7eNT9sZr
以及preg_replace('/[\r\n]+/', "[##]", $text)
稍后的功能implode("</p><p>", explode("[##]", $text))

我的问题并不完全是"如何"这样做(因为我可以编码实体,删除我不需要的实体和解码实体).但是如何删除只有str_replace或preg_replace的那些.

php special-characters htmlspecialchars

11
推荐指数
2
解决办法
9195
查看次数

在插入MySQL之前使用htmlspecialchars()是否合适?

我对此有点困惑.我一直在阅读htmlspecialchars(),我打算将其用于textareas POST以防止XSS攻击.据我所知,通常htmlspecialchars()用于生成发送到浏览器的HTML输出.但我不确定的是:

1)htmlspecialchars()在将用户输入数据插入MySQL之前使用它是否安全?我已经在使用PDO预处理语句和参数化值来防止SQL注入.

2)或者,我真的不需要担心使用htmlspecialchars()插入值(假设它们是参数化的)并且仅htmlspecialchars()在我从MySQL获取结果并将其显示给用户时使用?

php mysql sql pdo htmlspecialchars

10
推荐指数
1
解决办法
3974
查看次数

如何使用java转换特殊字符?

我有一些字符串:

Avery® Laser &amp; Inkjet Self-Adhesive
Run Code Online (Sandbox Code Playgroud)

我需要将它们转换为

Avery Laser & Inkjet Self-Adhesive.
Run Code Online (Sandbox Code Playgroud)

即删除特殊字符并将html特殊字符转换为常规字符.

java special-characters htmlspecialchars

8
推荐指数
2
解决办法
3万
查看次数

如何在HTML特殊实体中使用Ruby重音字符进行转换

我怎么能在Ruby上做到这一点?

puts some_method("ò")
# => "&ograve;"
Run Code Online (Sandbox Code Playgroud)

换句话说,将重音字符转换ò为HTML版本:&ograve;

我试过这样的:

# coding: utf-8
require 'rubygems'
require 'htmlentities'
require 'unicode'

coder = HTMLEntities.new
string = "Scròfina"
puts coder.encode(string, :named)
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个(来自:http://htmlentities.rubyforge.org/):

/Library/Ruby/Gems/1.8/gems/htmlentities-4.2.0/lib/htmlentities/encoder.rb:85:in `unpack': malformed UTF-8 character (expected 2 bytes, given 1 bytes) (ArgumentError)
 from /Library/Ruby/Gems/1.8/gems/htmlentities-4.2.0/lib/htmlentities/encoder.rb:85:in `encode_decimal'
 from (eval):2:in `encode_extended'
 from /Library/Ruby/Gems/1.8/gems/htmlentities-4.2.0/lib/htmlentities/encoder.rb:18:in `encode'
 from /Library/Ruby/Gems/1.8/gems/htmlentities-4.2.0/lib/htmlentities/encoder.rb:18:in `gsub!'
 from /Library/Ruby/Gems/1.8/gems/htmlentities-4.2.0/lib/htmlentities/encoder.rb:18:in `encode'
 from /Library/Ruby/Gems/1.8/gems/htmlentities-4.2.0/lib/htmlentities.rb:74:in `encode'
 from unicode_pleasure.rb:8
Run Code Online (Sandbox Code Playgroud)

感谢您的时间!

  • 莱昂纳多

ruby rubygems utf-8 htmlspecialchars

7
推荐指数
1
解决办法
4567
查看次数

如何从PHP中的字符串中删除编码的HTML标记

我正在访问的Web服务发送以下响应...

&lt;strong&gt;result&lt;/strong&gt;
Run Code Online (Sandbox Code Playgroud)

如何剥离这些编码标签的字符串?

php string htmlspecialchars

6
推荐指数
1
解决办法
1889
查看次数

如何使用javascript在文本输入中获取html特殊字符

我想将一些html特殊字符发送到文本字段,然后使用javascript将其恢复为原始格式:如果我发送"&pi",它将在文本输入上显示"π",当我使用javascript时得到它,我应该得到"&pi",但我只能得到"π",而不是"&pi".请帮忙,我的代码如下:

<script type="text/javascript"> 
function qpush(a) {
    document.getElementById('input').value += a;
}

function show(a) {
    alert(document.getElementById('input').value);
}
</script>

<input type="text" id="input" />
<input type="button" onclick="qpush('&pi;');" value="&pi;" />
<input type="button" onclick="show()" value="go" />
Run Code Online (Sandbox Code Playgroud)

html javascript escaping special-characters htmlspecialchars

6
推荐指数
1
解决办法
1万
查看次数

有什么方法可以减少htmlspecialchars()的CPU使用率?

我有一个php 5.4/ mysql每天5万次点击的网站,有一个Linux服务器上运行nginxphp-fpm.数据库位于单独的服务器上.

我注意到,在高峰时段,我的网络服务器负载最多为15,而四核处理器则为4.我用php xdebugxhprof描述了我的php应用程序,并看到,90%的CPU工作是由htmlspecialchars()Twig我用来显示数据的模板中函数完成的.htmlspecialchars()每页有时会有100到1000个电话.我试图减少无法逃避,但仍然无法避免.

有什么方法可以减少htmlspecialchars()功能的CPU使用率吗?也许在PHP中存在某种缓存?还是有另一种方式?

php performance cpu-usage htmlspecialchars twig

6
推荐指数
1
解决办法
375
查看次数