Răsfoiți Sursa

add sentenceIds

visuddhinanda 1 săptămână în urmă
părinte
comite
ce2803d9ca
1 a modificat fișierele cu 22 adăugiri și 0 ștergeri
  1. 22 0
      api-v12/app/Services/ArticleService.php

+ 22 - 0
api-v12/app/Services/ArticleService.php

@@ -15,4 +15,26 @@ class ArticleService
         $article = Article::where('title', $title)->first();
         return $article;
     }
+    public function sentenceIds(string $id): ?array
+    {
+        $article = $this->getRawById($id);
+        if (empty($article->content)) {
+            return null;
+        }
+        $sentenceIds = $this->extractBracesContent($article->content);
+        return $sentenceIds;
+    }
+
+    /**
+     * 提取字符串中 {{ }} 之间的内容
+     *
+     * @param string $text
+     * @return array
+     */
+    public function extractBracesContent(string $text): array
+    {
+        preg_match_all('/\{\{\s*(.*?)\s*\}\}/', $text, $matches);
+
+        return $matches[1] ?? [];
+    }
 }