标签: htmlspecialchars

如何在PHP中删除Html标签?

我在我的字符串中使用htmlspecialchars函数.但是,我不想清理它们;

<b>, <br>, <p> <ul>,<li> bla bla...
Run Code Online (Sandbox Code Playgroud)

例: Mystring = "<script>.....</script><br><b>test</b><p>aaaa</p>";

我想要; =

<script>.....</script>
Run Code Online (Sandbox Code Playgroud)

php htmlspecialchars

3
推荐指数
1
解决办法
1749
查看次数

php XML DOM将特殊字符转换为&#xYY;

我用AJAX POST发送:

<li><ul class   "zone zCentral ui-sortable"><li><ul class="region rCol3 ui-sortable"><li class="" style=""><div><span class="tc tc_video">574081</span> <span>video: 'Mundo.Hoy': ¿Dónde habré olvidado... mi memoria?</span></div></li></ul></li></ul></li>
Run Code Online (Sandbox Code Playgroud)

我这样做是为了创建XML:

        header('Content-type: text/html; charset=utf-8');       
    if(isset($_POST) && isset($_POST['data']))
    {           
        $data = '<ul id="zone_container" class="ui-sortable">';
        $data .= $_POST['data'];
        $data .= '</ul>';                           

        $dom = new DOMDocument('1.0', 'utf-8');
        $dom->loadXML($data);

        echo $dom->saveXML();                       
        exit();
    }
Run Code Online (Sandbox Code Playgroud)

我得到这个:

<?xml version="1.0"?>
<ul id="zone_container" class="ui-sortable">
    <li><ul class="zone zCentral ui-sortable"><li><ul class="region rCol3         ui-sortable"><li class="" style=""><div><span class="tc tc_video">574081</span>     <span>video: 'Mundo.Hoy': &#xBF;D&#xF3;nde habr&#xE9; olvidado... mi memoria?</span></div>    </li></ul></li></ul></li></ul>
Run Code Online (Sandbox Code Playgroud)

¿Dóndehabréolvidado... mi memoria?

翻译为:

&#xBF;D&#xF3;nde …
Run Code Online (Sandbox Code Playgroud)

php xml hex htmlspecialchars

3
推荐指数
1
解决办法
1718
查看次数

我甚至需要`htmlspecialchars()`来获得textarea的值

我有一个staff.php页面,其中包含员工的姓名,职位和详细信息.当用户需要编辑员工信息时,他们将被发送到edit.php页面.edit.php页面显示名称和标题text field以及详细信息textarea

我的问题是,我是否甚至需要htmlspecialcharsedit.php页面中.我不打印任何内容到用户页面,只在那些字段htmlspecialcharsstaff.php打印.但我正在使用之前打印给用户.

它仍然开放XSS Attack吗?

部分来自 staff.php

$staff.="<div id='sob'>".htmlspecialchars($title)."<br>".htmlspecialchars($sub_title)."<div><a href='edit.php?pid=".htmlspecialchars($pro_id)."'><input type='submit' id='editx' name='editx' value='Edit'></a></div><div id=''><br>".htmlspecialchars($detail)."</div><hr id='h'></div>";
Run Code Online (Sandbox Code Playgroud)

部分来自 edit.php

if(isset($_GET["pid"])){
  $name4=$title;            //
  $sub_title4=$sub_title;   //using prepared statement  
  $detail4=$detail;         //
  }

  HTML part at edit.php

 <input type='text' id='staff_name' name='staff_name' value="<?php echo $name4;?>" required>
 </br><input type='text' id='staff_pos' name='staff_pos' value="<?php echo $sub_title4;?>" required>
 </br><textarea id='staff_detail' name='staff_detail' cols='30' rows='6'  required><?php echo $detail4;?></textarea></br>
Run Code Online (Sandbox Code Playgroud)

php xss htmlspecialchars

3
推荐指数
1
解决办法
2381
查看次数

Laravel htmlspecialchars() 发送电子邮件时出错

我正在尝试通过 Laravel 中的 Sendgrid 发送电子邮件。我一直在关注Sendgrid 的关于使用 Laravel 发送电子邮件的知识库文章

我已经在我的文件中设置了所有内容.env(尽管我还必须更新MAIL_HOSTin ~/config/mail.php),并且我能够发送测试电子邮件(我正在刀片内执行此操作)。

电子邮件模板本身的刀片与 SendGrid 的文档完全相同:

<!DOCTYPE html>
<html lang="en-US">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <h2>Test Email</h2>
        <p>{{$message}}</p>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我在单独的刀片中运行的代码(我只是为了测试而这样做)是:

@php

use App\Mail\TestEmail;

$data = ['message' => 'Oh, hai!'];

Mail::to('john@doe.com')->send(new TestEmail($data));

@endphp
Run Code Online (Sandbox Code Playgroud)

通过上述我得到以下错误:

htmlspecialchars() expects parameter 1 to be string, object given 
    (View: ~/resources/views/emails/test.blade.php)
Run Code Online (Sandbox Code Playgroud)

当我不使用{{ message }}刀片时,一切都很好。

有人可以让我知道发生了什么事以及如何解决它吗?这是我第一次使用 Laravel,任何能为我指明正确方向的事情都可以。

htmlspecialchars laravel laravel-blade laravel-mail

3
推荐指数
1
解决办法
1684
查看次数

PHP - htmlspecialchars 和 UTF-8

我只是想用htmlspecialchars确认一些事情。我刚刚将数据库转换为 UTF-8,我想我终于可以正常工作了,但在我的代码中我使用了PHP htmlspecialchars函数:

htmlspecialchars($val, ENT_QUOTES,'ISO-8859-1',false);
Run Code Online (Sandbox Code Playgroud)

我是否需要担心将所有条目更改为:

htmlspecialchars($val, ENT_QUOTES,'UTF-8',false);
Run Code Online (Sandbox Code Playgroud)

PHP 文档建议我不需要,但这是真的吗?

就该函数而言,字符集 ISO-8859-1、ISO-8859-15、UTF-8、cp866、cp1251、cp1252 和 KOI8-R 实际上是等效的,因为受 htmlspecialchars() 影响的字符占用相同的字符集。所有这些字符集中的位置。

php utf-8 htmlspecialchars

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

使用PHP PDO时,我应该清理/过滤用户输入和输出吗?

我正在使用PDO进行用户输入,但是现在我在显示MySQL数据库中的内容时仍然没有使用PDO(仍然是使用SQL命令的旧式方法..).

在将数据插入MySQL数据库时,是否有必要过滤/清理用户的输入?

并且,如果要采取的方法是对输出进行消毒,那么消毒输出的最佳方法是什么?我很乐意去,如果我只是使用htmlspecialchars()或者我需要使用strip_tags()和其他东西吗?

我正在使用占位符和准备好的声明.

谢谢.

php mysql pdo sanitization htmlspecialchars

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

在文本输入的value属性中使用htmlspecialchars

我的问题类似于这个问题,但我没有使用代码点火器.我将从数据库获取的变量回显到文本输入的value属性.变量可能包含"或"或任何其他特殊字符.

我试过了:

<input type="text" name="myTextInput" value="<?= htmlspecialchars($dbValue, ENT_QUOTES); ?>" />
Run Code Online (Sandbox Code Playgroud)

但它输出的引号为&quot;&#039;不是我想要的.我希望文本输入实际包含用户输入的引号.

我应该使用PHP函数或JavaScript函数来逃避字符串?如果我不逃避它我得到一个javascript错误,因为$ dbValue字符串中的引号与值属性引号交互.

php quotes attributes escaping htmlspecialchars

2
推荐指数
1
解决办法
6206
查看次数

如何在非英文字符上使用子字符串?

我有一个小网站,我在其中显示帖子标题的搜索结果,有些标题长达 255 个字符,在 html 表格中显示这些标题时,表格的换行符即显示不正确,所以我使用substrphp 函数修剪标题,以便它可以适合表格行。

对于英文标题,它工作得很好,但对于非英文标题,它显示空白,即修剪所有内容。

我是substr这样用的

<a href="<? echo $link; ?>" class="strong"><? echo htmlspecialchars(substr($row['title'],0,70)); ?></a>
Run Code Online (Sandbox Code Playgroud)

那么我怎样才能使非英文标题也是 70 个字符呢?

php substr htmlspecialchars

2
推荐指数
1
解决办法
609
查看次数

htmlentities 不适用于单引号

我正在尝试将单引号 ( ')简单转换为 html 实体 ( &#39;),但无法弄清楚为什么这不起作用。

$test = "Bob's House";

echo htmlentities($test,ENT_QUOTES);

echo htmlspecialchars($test,ENT_QUOTES);
Run Code Online (Sandbox Code Playgroud)

两个例子仍然返回:Bob's House

我尝试了以下标志的组合:ENT_IGNORE、ENT_SUBSTITUTE 等,但没有成功。

我怀疑这与我的字符集有关。如果是这样,我如何显示我的默认字符集并更改它以使这个看似简单的代码工作。

php html-entities htmlspecialchars

2
推荐指数
1
解决办法
3220
查看次数

在 PDO 中使用 htmlspecialchars 函数准备和执行

在表单验证和数据库查询中使用 PHP PDO using htmlspecialchars()function将特殊字符转换为 HTML 实体真的有必要吗?

例如,我有一个或多或少具有简单登录系统的网站:

$username = (string) htmlspecialchars($_POST['user']);
$password = (string) htmlspecialchars($_POST['pass']);

$query = $dbh->prepare("select id where username = ? and password = ?")
$query->execute($username, $password);
Run Code Online (Sandbox Code Playgroud)

请注意,除了所讨论的函数之外,我还使用了类型转换。那么,有必要吗?或者我可以安全地使用$username = $_POST['user'];

php pdo htmlspecialchars

2
推荐指数
1
解决办法
2551
查看次数