質問: [2] => [3] => Possible reasons: [4] => * Your textlint config file has no rules. [5] => * You have no config file and you aren’t passing rules via command line. [6] => * Your textlint config has a syntax error. [7] => [8] => => How to set up rules? [9] => https://github.com/textlint/textlint/blob/master/docs/configuring.md [10] => ) ``` ### 該当のソースコード ``` ``` ### 試したこと textlintをコマンドラインで実行してみた所、満足ができる範囲の文章校正はすることができました。 今はその実行コマンドをPHPの中に組み込んでいるだけなので、エラーが出てくるのは当たり前だと思いますがそもそもデータをどうやって参照したらいいのか不明。 データの参照が上手くいっていないのかなと思い、調べてみましたがわからず。
回答: textlintについてはほぼ知りませんが、多分こんな感じのアプローチで解決出来るんじゃないかと思います。 エラーを読んでみると `No rules found, textlint hasn’t done anything` なので、ルールが読み込まれていないことがわかります。 どの様にtextlintの設定を行って、 PHPをどのように実行しているのか不明ですが、 ブラウザからPHPを実行した場合コマンドを叩くのはApacheになり、 `.textlintrc`がApacheから見たら存在しない様に見えるんじゃないかなと思われます。 が、原因は置いておいて、 **大事なのはルールが読み込まれていないという事実です**。 ルールを明示的に指定出来ればいけるんじゃないかなと言う気がするので、そういったオプションが存在しないか確認します。 readme を読んでみると、 > > Use with textlint-rule-no-todo rule. (Allow to short textlint-rule-no-todo to no-todo) > > > textlint --rule no-todo README.md > > 📝 We recommended using .textlintrc to specify rules instead of --rule or --rulesdir flags. Your .textlintrc is a great way to maintain your rules. > > > 明示的にルールのファイルを指定することが出来そうです。 修正箇所としてはたぶん ``` //この行で--ruleをつけてルールを明示的に指定してやる $cmd = 'npx textlint docs/sample.txt'; ``` の箇所で適用したいルールを指定してあげればエラーは解消するんじゃないかと思います。 [補足] `docs/sample.txt`の部分は相対パスでは無く、フルパスで指定しておいた方が安心です。