0

次のような小さなテスト データベースを作成しました。

mysql> select * from person;
+-----------+-------------+
| firstName | lastName    |
+-----------+-------------+
| matt      | butcher     |
| emanuel   | garbaciovas |
+-----------+-------------+
2 rows in set (0.00 sec)

そして、次のような単純な QueryPath スクリプトを作成しました。

<?php

    require 'src/QueryPath/QueryPath.php';
    require 'src/QueryPath/Extension/QPDB.php';



    $input = qp(QueryPath::XHTML_STUB,'body')
      ->dbInit('mysql:host=localhost;dbname=qpdb',
        array(username=>'my_username',password=>'my_password'))
      ->queryInto('SELECT firstName FROM person WHERE lastName="butcher"')
      ->doneWithQuery()->writeHTML()->find('body')->text();

    print $input;

?>

今、取得したクエリの文字列[テキスト値]が必要です[つまり、必要なものを取得し、それをweb/excel/csv/etcのhtmlテキストフォームへの入力として使用します]が、問題は、コマンド ラインからこのスクリプトを実行すると、不要な HTML コード/ドキュメントの余分なブロックが生成されます。つまり、出力は次のようになります。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/x
html1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
  <title>Untitled</title>
  </head>
  <body>matt</body>
  </html>
matt

つまり、基本的に私が欲しいのは「マット」です。「マット」だけを抽出する方法を知っている人はいますか?

明らかに、MySQLクエリから直接テキストを抽出することはできません。これはリソース/オブジェクトであるため、誰かが方法/ハックを知っていますか? QueryPath または No QueryPath は問題ありません [ただし、QueryPath ハックの方が優れています!]

4

0 に答える 0