php – DOMXpath – 获取一个元素的href属性和文本值[转]

admin5年前IT技术1499

原文https://stackoverflow.com/questions/6820429/domxpath-get-href-attribute-and-text-value-of-an-a-element
       http://www.voidcn.com/article/p-cjeefole-btv.html 

 

所以我有一个这样的 HTML字符串:

 

 

<td class="name">   <a href="/blah/somename23123">Some Name</a></td><td class="name">   <a href="/blah/somename28787">Some Name2</a></td>

使用XPath我可以使用此Xpath查询获取href属性的值:

 

$domXpath = new \DOMXPath($this->domPage); $hrefs = $domXpath->query("//td[@class='name']/a/@href"); foreach($hrefs as $href) {...}

并且获得文本值更容易,如下所示:

 

// Xpath auto. strips any html tags so we are  // left with clean text value of a element $domXpath = new \DOMXPath($this->domPage); $names = $domXpath->query("//td[@class='name']/"); foreach($names as $name) {...}

现在我很想知道,如何组合这两个查询来获取两个值只有一个查询(如果这样的话甚至可以吗?).

 

 

 

//td[@class='name']/a

然后用nodeValue和getAttribute(‘href’)的属性提取文本.

除此之外,您可以将Xpath查询与Union Operator |组合所以你可以使用

 

//td[@class='name']/a/@href|//td[@class='name']

 

相关文章

GIt后悔药:还原提交操作(谨慎操作)

GIt后悔药:还原提交操作(谨慎操作)

GIt后悔药:还原提交操作(谨慎操作)一、背景:偶尔会遇到git的版本分支的文件被误改的情况,需要还原,此篇文章可能会帮助到你。PS:来理解下 Git 工作区、暂存区和版本库概念,可以更好的理解以下的...

15天学会php视频教程下载

 下载链接百度网盘下载...

ubuntu 远程连接 22 端口

安装OpenSSHUbuntu缺省没有安装SSH Server,使用以下命令安装:sudo apt-get install openssh-server openssh-client不过Ubuntu缺...

acme.sh 使用文档

acme.sh 使用文档

这是acme.sh的使用文档,介绍了如何使用ACME协议自动管理和获取SSL/TLS证书,包括安装、注册、手动和自动签发证书,以及自动部署和更新证书的过程。ACME是"Automatic C...

1.解压缩

将下载到本地的安装介质解压缩。然后,将解压后的文件夹mysql-5.7.16-winx64拷贝到安装目录(E盘根目录)下。

2.设置系统环境变量

右键点击 计算机>>属性>> 高级系统属性>>环境变量>> 编辑 Path ,在最后添加” ;E:\mysql-5.7.16-winx64\bin“,确定。

3.创建my.ini 文件和data目录,配置安装路径与数据存储路径

在E:\mysql-5.7.16-winx64目录下创建data目录和my.ini,并在my.ini中配置安装路径与数据存储路径等信息。

点击(此处)折叠或打开

  1. [mysql]
  2. default-character-set=utf8
  3. [mysqld]
  4. max_connections=200
  5. default-storage-engine=INNODB
  6. basedir =E:\mysql-5.7.16-winx64\bin
  7. datadir =E:\mysql-5.7.16-winx64\data
  8. port = 3306

 

4.安装MySQL服务

首先,以管理员身份运行 cmd 并切换到MySQL的bin目录下;

接下来,执行mysqld --initialize-insecure

    这条命令用来初始化data文件,其中insecure选项指定登录无需口令。

点击(此处)折叠或打开

  1. D:\>e:
  2.  
  3. E:\>cd mysql-5.7.16-winx64
  4.  
  5. E:\mysql-5.7.16-winx64>cd bin
  6.  
  7. E:\mysql-5.7.16-winx64\bin>mysqld --initialize-insecure
  8.  
  9. E:\mysql-5.7.16-winx64\bin>

需要注意的是,如果不指定insecure选项,则会随机生成登陆密码, 在E:\mysql-5.7.16-winx64\data文件夹下,有一个 hoegh.err 文件,其中hoegh是主机名,打开会看到:
2016-10-20T09:34:56.806257Z 1 [Note] A temporary password is generated for root@localhost: p-mcI:ijR6Xg,
其中 p-mcI:ijR6Xg即为随机密码。

然后,输入 mysqld --install安装MySQL服务

我们会看到界面出现:Server successfully installed,这就说明MySQL服务安装成功。 

点击(此处)折叠或打开

  1. E:\mysql-5.7.16-winx64\bin>
  2.  
  3. E:\mysql-5.7.16-winx64\bin>mysqld --install
  4. Service successfully installed.
  5.  
  6. E:\mysql-5.7.16-winx64\bin>

5.启动MySQL服务

输入  net start mysql  回车, 就会看到: MySQL 服务已经启动成功。尝试使用root用户登录数据库,并通过show databases命令查看数据库概要信息。

点击(此处)折叠或打开

  1. E:\mysql-5.7.16-winx64\bin>
  2. E:\mysql-5.7.16-winx64\bin>net start mysql
  3. MySQL 服务正在启动 .
  4. MySQL 服务已经启动成功。
  5.  
  6.  
  7. E:\mysql-5.7.16-winx64\bin>mysql -u root
  8. Welcome to the MySQL monitor. Commands end with ; or \g.
  9. Your MySQL connection id is 2
  10. Server version: 5.7.16 MySQL Community Server (GPL)
  11.  
  12. Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  13.  
  14. Oracle is a registered trademark of Oracle Corporation and/or its
  15. affiliates. Other names may be trademarks of their respective
  16. owners.
  17.  
  18. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  19.  
  20. mysql> show databases;
  21. +--------------------+
  22. | Database |
  23. +--------------------+
  24. | information_schema |
  25. | mysql |
  26. | performance_schema |
  27. | sys |
  28. +--------------------+
  29. 4 rows in set (0.00 sec)
  30.  
  31. mysql>

 

6.修改root密码

    安全起见,我们修改一下root密码。

点击(此处)折叠或打开

  1. mysql>
  2. mysql> alter user 'root'@'localhost' identified by 'root';
  3. Query OK, 0 rows affected (0.00 sec)
  4.  
  5. mysql>
  6. mysql> exit
  7. Bye
  8.  
  9. E:\mysql-5.7.16-winx64\bin>mysql -u root -proot
  10. mysql: [Warning] Using a password on the command line interface can be insecure.
  11. Welcome to the MySQL monitor. Commands end with ; or \g.
  12. Your MySQL connection id is 4
  13. Server version: 5.7.16 MySQL Community Server (GPL)
  14.  
  15. Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  16.  
  17. Oracle is a registered trademark of Oracle Corporation and/or its
  18. affiliates. Other names may be trademarks of their respective
  19. owners.
  20.  
  21. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  22.  
  23. mysql> show databases;
  24. +--------------------+
  25. | Database |
  26. +--------------------+
  27. | information_schema |
  28. | mysql |
  29. | performance_schema |
  30. | sys |
  31. +--------------------+
  32. 4 rows in set (0.00 sec)
  33.  
  34. mysql>


MySQL数据库可以用任意ip连接访问的方法

 

过CMD命令行修改

MYSQL安装

  今天在Windows Server 2008 r2系统下部署了MySQL Community Server 5.7.16,安装过程中也遇到了一些问题,在这儿记录一下最终的安装过程。0.下...

汇成外贸建站CMS系统V8.6

汇成外贸建站CMS系统V8.6˂a href="download/hcwaimaov8.6.rar" target="_blank"˃官方下载后台地址:您的地址/admin/login.asp帐号:a...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。