小编Zna*_*kus的帖子

PHP 中带有 html5lib 的 Xpath

我有这个不起作用的基本代码。如何在 html5lib php 中使用 Xpath?或以任何其他方式使用 HTML5 的 Xpath。

$url = 'http://en.wikipedia.org/wiki/PHP';
$response = GuzzleHttp\get($url);

$html5 = new Masterminds\HTML5();
$dom = $html5->loadHTML($response);

$xpath = new DOMXPath($dom);

$elements = $xpath->query('//h1');
//$elements = $dom->getElementsByTagName('h1');

foreach ($elements as $element)
{
    var_dump($element);
}
Run Code Online (Sandbox Code Playgroud)

未找到任何元素。使用$xpath->query('.')作品来获取根元素(通常 xpath 似乎有效)。$dom->getElementsByTagName('h1')正在工作。

html php xpath html5lib

4
推荐指数
1
解决办法
981
查看次数

用正则表达式匿名化html

我正在尝试使用正则表达式使HTML字符串匿名化,以进行SQL查询。

https://regex101.com/r/QWt1E1/1

(?<!\<)[^<>\s](?!\>)
Run Code Online (Sandbox Code Playgroud)
<p><em>Hi [User</em></p>
<p><em>Tack f&ouml;r visat intresse.</em></p>
<p><em>Good luck!</em><em>&nbsp;</em></p>
<p><em>Sincerely</em></p>
Run Code Online (Sandbox Code Playgroud)
<p><em>nn nnnnn</nm></p>
<p><em>nnnn nnnnnnnn nnnnn nnnnnnnnn</nm></p>
<p><em>nnnn nnnnn</nm><em>nnnnnn</nm></p>
<p><em>nnnnnnnnn</nm></p>
Run Code Online (Sandbox Code Playgroud)

计划是用<代替所有不在<>内的字符n。它几乎可以工作,但是在我的示例中,它代替了ein </em>。不知道为什么以及如何解决。

如何调整正则表达式以不替换e示例中的?

html regex anonymize

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

使用ImageMagick和PHP使用自定义字体绘制文本

我希望使用自定义字体动态地将文本呈现给图像,最好使用直接输出保存到文件选项.并根据字体/大小组合自动设置图像大小.

我已经可以用GD做到这一点,但它不处理字符相互叠加的字体.

所以现在我正在寻找ImageMagick.我在文档中找到了一个似乎做我想做的事情的例子.这可能与php_magick?特别是没有定义图像大小的部分:)如果不是,我可以让命令行magick输出原始图像,所以我可以用PHP将它直接传递给客户端吗?

谢谢!


真正的问题可能是:如何使用php_magick将下面的IM命令转换为PHP代码?

convert -background lightblue -fill blue -font Arial -pointsize 72 label:Anthony
Run Code Online (Sandbox Code Playgroud)

php imagemagick text-rendering

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

使用 Python 请求在请求之间设置新 cookie

我现在正在这样做,但它在最后一行失败TypeError: expected string or buffer

import requests
from urllib.parse import urlparse

url = 'some url'

s = requests.Session()
s.headers.update({
    'Origin':urlparse(url).netloc,
    'Referer':url
})


r = s.get(url)

s.cookies['cookie1'] = 25
s.cookies['cookie2'] = 25

r = s.post(
    url,
    {'param':'value1', 'param2':'value2'},
    headers={'X-Requested-With':'XMLHttpRequest'}
)
Run Code Online (Sandbox Code Playgroud)

使用时更新 cookie 的正确方法是Session什么?我对 Python 很陌生,所以我可能会混淆一些东西。使用 Python 3.4.1。

追溯:

Traceback (most recent call last):
  File "file.py", line 37, in <module>
    {'param':'value1', 'param2':'value2'}
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/requests/sessions.py", line 498, in post
    return self.request('POST', url, data=data, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/requests/sessions.py", line 422, in …
Run Code Online (Sandbox Code Playgroud)

python cookies session python-requests

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

请解释一下这个 PHP 的 62 进制转换函数/算法

谁能解释一下下面的代码吗?那或者向我指出一些可以阐明一些观点的资源:)

它将整数转换为 base62 字符串。

private static $_characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

private static function _convertBase($num)
{
    $base = strlen(self::$_characters);
    $string = '';

    for ($t = floor(log10($num) / log10($base)); $t >= 0; $t--) {
        $a = floor($num / pow($base, $t));
        $string .= substr(self::$_characters, $a, 1);
        $num = $num - ($a * pow($base, $t));
    }

    return $string;
}
Run Code Online (Sandbox Code Playgroud)

更新:我想问的是:有人可以解释一下下面的算法吗?:) 谢谢。

php algorithm base62

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

使用"javascript:"URL将"this"元素传递给JS函数

总之,我想做

<a href="javascript:edit(this, 123)">Edit thing</a>
Run Code Online (Sandbox Code Playgroud)

代替

<a href="javascript:;" onclick="edit(this, 123)">Edit thing</a>
Run Code Online (Sandbox Code Playgroud)

this将是哪里<a />,123是一个id.为什么?它更清洁.有什么办法吗?

html javascript url

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

移动浏览器不支持会话变量?

我有我的网络应用程序的浏览器版本,我有一些值存储在cookie中.现在我正在制作移动版本,似乎我的cookie无效.是否可以在移动设备上使用Cookie?

我正在尝试执行此代码,我的PHP给了我一个空值:

$(document).ready(function() {
    var session_lang= '<?php if(isset($_SESSION['SESS_LANGUAGE']))
                            echo $_SESSION['SESS_LANGUAGE'];?>';
            if (session_lang!='')
            {
                check_and_change(session_lang);   
            }
    });
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以将数据存储在内部存储器中,以便它可以作为cookie工作?移动设备是否支持会话变量?我正在查看firebug,我可以看到我可以创建会话变量,但是当我想要读取它时,它是null.什么可能是一个问题,如何解决这个问题?

编辑:我会给你几乎整个代码,这样你就可以看到我在做什么......顺便说一句.此代码在PC浏览器上正常工作.

Javascript文件:

$(document).ready(function() {

    function languageChange()
    {
         var lang = $('#websites1 option:selected').val();

        return lang;
    }


    $('#websites1').change(function(e) {                    

        var lang = languageChange();

        var dataString = 'lang=' + lang;

        $.ajax({

            type: "POST",
            url: "pass_value.php",
            data: dataString,
            dataType: 'json',
            cache: false,
            success: function(response) {

                    check_and_change(response.message);
                 }
        });

        return false;

    });

} );

    function check_and_change(lang)
     {
            switch (lang)
                         { //do something
                          }
    }
Run Code Online (Sandbox Code Playgroud)

然后我上面的第一部分是在我正在寻找的实际php网站上,它正在打开:

最后一件事是pass_value.php:

<?php 
session_start(); …
Run Code Online (Sandbox Code Playgroud)

javascript php cookies mobile jquery-mobile

0
推荐指数
1
解决办法
9800
查看次数