惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Palo Alto Networks Blog
S
Security Affairs
T
Tor Project blog
T
Threatpost
Hacker News - Newest:
Hacker News - Newest: "LLM"
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
A
Arctic Wolf
K
Kaspersky official blog
O
OpenAI News
Spread Privacy
Spread Privacy
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
Simon Willison's Weblog
Simon Willison's Weblog
雷峰网
雷峰网
P
Privacy & Cybersecurity Law Blog
Know Your Adversary
Know Your Adversary
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler
量子位
博客园_首页
Cyberwarzone
Cyberwarzone
博客园 - 三生石上(FineUI控件)
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
IT之家
IT之家
N
News and Events Feed by Topic
博客园 - 司徒正美
V2EX - 技术
V2EX - 技术
S
Schneier on Security
博客园 - 叶小钗
Attack and Defense Labs
Attack and Defense Labs
AI
AI
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 【当耐特】
Jina AI
Jina AI
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
D
Darknet – Hacking Tools, Hacker News & Cyber Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
Cloudbric
Cloudbric
H
Hacker News: Front Page
The Last Watchdog
The Last Watchdog
V
V2EX
S
SegmentFault 最新的问题
V
Visual Studio Blog
PCI Perspectives
PCI Perspectives
Microsoft Security Blog
Microsoft Security Blog

摸鱼论坛 - 最新帖子

友情链接改一下地址吧 域名换了 - 摸鱼论坛 ahtajc 一口价域名 - 摸鱼论坛 上传图片有问题 - 摸鱼论坛 《陈翔六点半》“妹爷”扮演者去世,终年82岁。 - 摸鱼论坛 .ai和.com - 摸鱼论坛 30岁以后开始断社交了 - 摸鱼论坛 【重磅公告】资费彻底告急,正式宣布雷若论坛即将永久关. - 摸鱼论坛 自托管社交内容发布平台 - 摸鱼论坛 导航网站增加收录功能,留下网址,可以自动申请收录 - 摸鱼论坛 真正 免费邮箱,无任何利益需求 - 摸鱼论坛 书签最新版来了,全站弹窗风格统一,用户体验一致 - 摸鱼论坛 限时免费使用 GPT-5.4 和 Sonnet 4.6(不限次数) - 摸鱼论坛 我也写了两个版本的朋友圈程序。 - 摸鱼论坛 科普 - 聚域一口价域名交易和域名抢注服务平台 - 摸鱼论坛 面试了一家大手日企 - 摸鱼论坛 分享 如何批量获取商家联系方式 - 摸鱼论坛 站长公益主机 APP 下打包好了 - 摸鱼论坛 AI分享论坛搭建好了 - 摸鱼论坛 搞到1点了,搭建一个在线聊天室,功能更加流畅 - 摸鱼论坛 域名金牌会员到底值不值? - 摸鱼论坛 腾讯即将推出腾讯网盘,官网已上线 - 摸鱼论坛 一个企业级通讯工具TWT Link - 摸鱼论坛 如果不急着购买域名,可以一口价蹲 - 摸鱼论坛 来个导航站点,帮我收录一下(beeimg.cn) - 摸鱼论坛 聚域网免费whois域名查询工具 - 摸鱼论坛 (调查问卷)本站程序的发行方式。 - 摸鱼论坛 NodeSuper - 数字世界的灯塔,互联网爱好者的家园! - 摸鱼论坛 MiMoCode用 MiMo-V2.5(包含 gml5.1、ds4pro 等)限免中 - 摸鱼论坛 Typora激活劫持(破解) 支持到1.13.7 - 摸鱼论坛 1vps.cn(壹云)适用于挂机宝、云服务器等。明盘888拿下 - 摸鱼论坛 最近访问论坛几乎每次都被拦截 - 摸鱼论坛 niegao.com - 摸鱼论坛 .com域名活动 - 摸鱼论坛 打包出售一个网站,有需要大佬联系 - 摸鱼论坛 中国灵活就业人数今年料达3.2亿 占就业人口四成 - 摸鱼论坛 编辑器更新:支持图床上传 + 斜体语法优化 - 摸鱼论坛 脑子一热,又注册了两个域名。 - 摸鱼论坛 这个项目看着有点高级啊。 - 摸鱼论坛 一个能熬的都没有 - 摸鱼论坛 Moyuimage 内测上线。 - 摸鱼论坛 天涯论坛吃相有点难看 - 摸鱼论坛 znxzs.com,智能小助手*已出 - 摸鱼论坛 kuogai.com,扩改(已出) - 摸鱼论坛 屌丝论坛复活了 - 摸鱼论坛 换仓,所有域名**元一条(已经全部处理) - 摸鱼论坛 ai攻击,aiattack.cn,AI安全,黑客必备域名(已出) - 摸鱼论坛 品选,评选pxuan.com(已出) - 摸鱼论坛 ClawCloud倒闭了 - 摸鱼论坛 分享,免费在线客服系统 - 摸鱼论坛 听说天涯今天要重启了。 - 摸鱼论坛 MeiliSearch 内存占用优化。 - 摸鱼论坛 单字符,com8.cn明盘888元,适合做二级域名,短链,邮箱!(已出) - 摸鱼论坛 紧急提醒!Nginx再次出现安全漏洞,请升级到Nginx1.30.2! - 摸鱼论坛 BUG/建议反馈贴。 - 摸鱼论坛 22官方没有任何通知,私自删除,并重新注册。并修改了我自己设置的dns和解析。 - 摸鱼论坛 AI代理,aiprox.cn,明盘288 - 摸鱼论坛 重构了积分变动操作和管理记录。 - 摸鱼论坛 完善了管理功能。 - 摸鱼论坛 看色图没拉窗帘 被乌鸦围观了 - 摸鱼论坛 小众杂坊,zafang.cn,88元 - 摸鱼论坛 APKPure 上的 Telegram 官方版被植入间谍后门 - 摸鱼论坛 管理功能 隐藏用户全部帖子 不起作用 - 摸鱼论坛 去中心化智能体,deagents.cn,399元 - 摸鱼论坛 自然双拼:扩改kuogai.com(已出) - 摸鱼论坛 出售域名 kxde.cn - 摸鱼论坛 hostloc.com 关站维护 - 摸鱼论坛 单词米:魔改,改装modded.cn明盘(已出) - 摸鱼论坛 04年相亲真的累了,深深内耗当中... - 摸鱼论坛 AI网络,ainetworks.cn(已出) - 摸鱼论坛 品选,评选,拼选,pxuan.com(已出) - 摸鱼论坛 Git 版本控制器 Gitweb,欢迎大家使用 - 摸鱼论坛 出 资源熊软件分享站和网址导航站 - 摸鱼论坛 淘宝的弟弟淘绝taojue.cn(已出) - 摸鱼论坛 Windows下Claude Code输入`claude`卡住无响应?问题根源在于代理环境变量 - 摸鱼论坛 已经出了 - 摸鱼论坛 写作帮手-开源的写作软件 - 摸鱼论坛 新人报到! - 摸鱼论坛 百度网盘超级会员SVIP年卡 13.9元 - 摸鱼论坛 新人报道! - 摸鱼论坛 惠易,慧易,汇一,众多终端,huie.cn(已出) - 摸鱼论坛 佐助,zuozhu.cn(已出) - 摸鱼论坛 50元买了一个域名 - 摸鱼论坛 日常打卡 - 摸鱼论坛 2026年5月8日更新记录。 - 摸鱼论坛 AI小创作aixcz.com(已出) - 摸鱼论坛 狐蒂云,正式宣布跑路! - 摸鱼论坛 真离谱。。 - 摸鱼论坛 机器人爱好者robots.fan(已出) - 摸鱼论坛 预出一个域名 shenai.me 深爱我 - 摸鱼论坛 美国再度准备大规模遣返润人 - 摸鱼论坛 愿有人予你一世宠热,岁岁温柔相伴。(已出) - 摸鱼论坛 你关注的用户发布了新帖子 可不可以加个设置不提醒 - 摸鱼论坛 豆包将在免费模式外新增付费订阅:68 元 / 200 元 / 500 元三档,主打生产力场景 - 摸鱼论坛 新搞的游戏站 上万款 3A 全免费 大家帮我看看怎么样 - 摸鱼论坛 亏本出个含义很好的net域名 - 摸鱼论坛 又到了割麦子的季节了。 - 摸鱼论坛 准备肝一个whois查询程序。 - 摸鱼论坛 我是真喜欢这套论坛系统 - 摸鱼论坛 不理解为什么996.icu要被屏蔽,说的都是大实话啊,来看看豆包怎么回答 - 摸鱼论坛 求索者qiusuozhe.com(已出) - 摸鱼论坛
一个日语长文标音项目(PHP) - 摸鱼论坛
cc · 2026-06-06 · via 摸鱼论坛 - 最新帖子

在这里备份一下,基于mecab和unidic。
可以把汉字翻译成平假名,把外来语翻译成片假名。
之前做的,后面发现对自己学日语没啥用,项目就停掉了。

<?php
// apt install mecab unidic-mecab
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    try {
        $process = proc_open('mecab', [0 => ['pipe', 'r'], 1 => ['pipe', 'w'], 2 => ['pipe', 'w']], $pipes);
        if (is_resource($process)) {
            fwrite($pipes[0], file_get_contents('php://input'));
            fclose($pipes[0]);
            $result = stream_get_contents($pipes[1]);
            fclose($pipes[1]);
            $error = stream_get_contents($pipes[2]);
            fclose($pipes[2]);
            proc_close($process);
            if (!empty($error)) { throw new Exception($error); }
            http_response_code(200);
            echo $result;
        } else { throw new Exception('Failed to open process'); }
    } catch (Exception $e) {
        http_response_code(500);
        echo $e;
    }
    exit;
}
?>

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" href="data:," />
    <title>JPhonetic - MeCab + UniDic</title>
</head>

<body>
    <textarea id="inputText" style="display:block;width:600px;max-width:calc(100% - 4px);height:200px;"></textarea>
    <input type="button"
        onclick="notation(document.querySelector('#inputText').value, document.querySelector('#text'));" value="注音" />
    <input type="file" id="fileInput" /><br /><br />
    <div id="text"></div>
    <script>
        function hiragana(str) {
            return str.replace(/[\u30A1-\u30F6]/g, ch => String.fromCharCode(ch.charCodeAt(0) - 0x60));
        }
        function notation(text, dom) {
            if (!text) { return; }
            fetch('', {
                method: 'POST',
                headers: { 'Content-Type': 'text/plain' },
                body: text
            })
                .then(response => response.text())
                .then(data => {
                    let result = '';
                    data.split(/\r?\n/).map((row) => {
                        const values = row.split('\t');
                        if (values.length <= 1) { return; }
                        const word = values[0];
                        const part = values[1].split(/,(?=(?:["]*"["]*")*[^"]*$)/);
                        const yomi = part[20] ?? '';
                        if (/[\u4E00-\u9FFF\u3400-\u4DBF]/.test(word) && yomi) {
                            result += " " + word + "[" + hiragana(yomi) + "] ";
                        } else if (/^[\u30A0-\u30FF]+$/.test(word) && part[7]?.split('-')[1]) {
                            result += " " + word + "[" + part[7]?.split('-')[1] + "] ";
                        } else if (/^[A-Za-z0-9\p{P}]+$/u.test(word)) {
                            result += " " + word + " ";
                        } else {
                            result += word;
                        }
                    });
                    dom.innerHTML = result;
                })
                .catch(error => {
                    console.error('Error:', error);
                });
        }
        document.getElementById("fileInput").addEventListener("change", async function () {
            const file = this.files[0];
            if (!file) return;
            const formData = new FormData();
            formData.append("file", file);
            formData.append("url", "");
            formData.append("language", "auto");
            formData.append("isOverlayRequired", "true");
            formData.append("FileType", ".Auto");
            formData.append("IsCreateSearchablePDF", "false");
            formData.append("isSearchablePdfHideTextLayer", "true");
            formData.append("detectOrientation", "false");
            formData.append("isTable", "false");
            formData.append("scale", "true");
            formData.append("OCREngine", "3");
            formData.append("detectCheckbox", "false");
            formData.append("checkboxTemplate", "0");
            document.querySelector("#text").innerHTML = '<span style="color: blue;">Loading...</span>';
            try {
                const res = await fetch("https://api8.ocr.space/parse/image", {
                    method: "POST",
                    headers: {
                        "accept": "application/json, text/javascript, */*; q=0.01",
                        "apikey": "donotstealthiskey_ip1",
                        "origin": "https://ocr.space",
                        "referer": "https://ocr.space/",
                    },
                    body: formData
                });
                const json = await res.json();
                if (json?.ParsedResults?.[0]?.ParsedText) {
                    notation(json?.ParsedResults?.[0]?.ParsedText, document.querySelector("#text"));
                } else {
                    document.querySelector("#text").innerHTML = '<span style="color:red;">' + JSON.stringify(json) + '</span>';
                }
            } catch (error) {
                document.querySelector("#text").innerHTML = '<span style="color:red;">' + error.message + '</span>';
            }
        });
    </script>
</body>

</html>

你好呀,陌生人

看起来你是新来的,如果想参与讨论,可以先登录或注册。

Statistics

注册会员: 284
主题: 541
回复: 1588

New Members

友情链接