كيف أحول النص إلى هاشتاق؟

أقصد هل هناك طريقة لتحويل النص إلى هاشتاق، مثلا عندي نص يحتوي على هاشتاق بهذه الطريقة

التعليم في #شبه_القارة_الهندية

أو #شبه-القارة-الهندية

فتتعرف الدالة على كلمة (شبه القارة الهندية) وتحوله إلى رابط على سبيل المثال:


هذا هو حتى لا يحذف من pastebin لمن قد يبحث عنه مستقبلا

<?php
/**
 * @collected by @mshannaq
 * @link 
 * convert hashtag and mention
 * 
 */
if (!$_POST['submitted']){
   ?>
<html dir="rtl" lang="ar">
        <head>
    <meta charset="UTF-8">
    </head>
    <body>
        <form method="post">
            <p>ادخل نصا مع هاشتاق ومنشن</p>
            <textarea name="text" cols="30" rows="10"></textarea>
            <input type="submit" value="هشتق">
            <input type="hidden" name="submitted" value=1>
        </form>        
    </body>
    <?php 
} else {
    if ($_POST['text'] == ""){
        echo "لم تدخل نصا ، ارجع وادخل نصا";
    } else{
        echo '<html dir="rtl" lang="ar"><meta charset="UTF-8">';
        $text = $_POST['text'];
        $hashtaged = preg_replace('/#([^\s]+)/', '<a href="

http://ex.com/hashtag/$1 ">$1', $text);
$mentioned = preg_replace('/@([^\s]+)/', '$1', $hashtaged); echo "النص بعد ان تم تحويله الى هاشتاق ومنشن هو"; echo $mentioned; echo ""; } }